A Firefox/Chrome devtools extension to provide utilities for helping with single-spa applications.
If you would like to request a feature to be added, please open an issue with the title "Enhancement:"
To fix a bug, add features, or just build the extension locally:
single-spa-inspector-dev
. Alternatively, temporarily install the extension as documented in https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#installing.nvm use
(ensures we're all using the same version of node)npm i
npm start
Currently, development happens by default in Firefox. If you would like Firefox to remember any settings that you change to Firefox itself, this project is configured to use a profile called "single-spa-inspector-dev". To create this profile, go to about:profiles. Firefox will use that profile and remember any changes you make (e.g. devtools location, devtools dark mode, etc.)
Once single-spa Inspector is running, open a new tab and navigate to about:debugging. single-spa Inspector should be listed as a Temporary Extension, and a "Debug" control should be displayed. Click on this to enable devtools for the extension. In the upper-right corner, click on the divided square icon next to the 3-dot menu, and select /build/panel.html
as the target. You can now inspect the inspector UI as you would a normal webpage.
Install Chrome
Create a Chrome profile
~/Library/Application Support/Google/Chrome
%LOCALAPPDATA%\Google\Chrome\User Data
Start Chrome with $CHROME_PROFILE_PATH
env set to the profile folder path
# for Mac
CHROME_PROFILE_PATH="~/Library/Application Support/Google/Chrome/single-spa-inspector-dev" npm run start:chrome
Update the version in manifest.json
and package.json
(they should match)
Ensure that the necessary Firefox env values are in your local .env
WEXT_SHIPIT_FIREFOX_JWT_ISSUER=xxxxx
WEXT_SHIPIT_FIREFOX_JWT_SECRET=xxxxx
Ensure that the necessary Chrome env values are in your local .env
WEXT_SHIPIT_CHROME_EXTENSION_ID=xxxxx
WEXT_SHIPIT_CHROME_CLIENT_ID=xxxxx
WEXT_SHIPIT_CHROME_CLIENT_SECRET=xxxxx
WEXT_SHIPIT_CHROME_REFRESH_TOKEN=xxxxx
Run npm run deploy
npm run deploy:firefox
or npm run deploy:chrome
You may also want to verify the status at the respective extensions page