mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Modifies the messaging layer of devtools to allow for switching communication between frames on a page. When served as a browser extension. Design: - When a page renders, DevTools installs a content script onto it through it's manifest file. The all_frames option is used here to install this script onto every frame in a page. - When Angular is detected, the content script will install a backend script into it's frame. - Each content script / backend script pairing is kept track of in the background script. This pairing represents an angular devtools context in a particular frame. - Angular DevTools is able to ask the background script to list each frame that has been registered on a page. - Angular Devtools is able to ask the background script to "enable" the connection on a particular frame. This enables the messaging between the content script <-> background script <-> devtools page Limitations: - The `inspectedWindow.eval` API is only able to target frames by frameURL. This means some features that integrate with Chrome DevTools like inspect element and open source will not be available when inspecting frames that do not have a unique url on the page. PR Close #53934 |
||
|---|---|---|
| .. | ||
| cypress | ||
| docs | ||
| projects | ||
| src | ||
| tools | ||
| .gitignore | ||
| BUILD.bazel | ||
| cypress.json | ||
| DEVELOPING.md | ||
| packages.bzl | ||
| README.md | ||
| styles.scss | ||
| tsconfig.json | ||
| tsconfig.spec.json | ||
| tslint.json | ||
Angular DevTools
Angular DevTools is a browser DevTools extension for debugging and profiling Angular applications.
Installing and Running locally
To setup your local development environment for Angular DevTools, see DEVELOPING.md
Publish Angular DevTools
To publish Angular DevTools to Firefox or Chrome stores:
- Update the version of the corresponding manifest file. Currently, Angular DevTools uses different versioning compared to the rest of the packages within the monorepo.
manifest.chrome.jsonfor Chromemanifest.firefox.jsonfor Firefox
- Build the extension:
yarn devtools:build:chromefor Chromeyarn devtools:build:firefoxfor Firefox
- Find the extension production assets in
dist/bin/devtools/projects/shell-browser/src/prodapprelative to the root of the Angular monorepo - Zip the files in the directory
- Upload them to the corresponding store
Firefox
- Go to the Firefox Addons page
- For email enter
devrel@angular.io - Find the password on Valentine
- Setup Google Authenticator with the 2FA QR code. You can find the QR code on Valentine
Chrome Web Store
- Go to the extension page
- Make sure your email is part of the Google Group we use for publishing the extension
- Navigate to "Developer Dashboard"
- Enter your account credentials
- You should be able to change the publisher to "Angular"