Pull requests are welcomed :)
For significant effort or feature work, it is preferred to start by filing an issue to discuss your approach before you start coding.
- Simply open the userscript in the Violentmonkey dashboard and hack away
- Hit
Ctrl+Sto save - Refresh the target page to test your changes
Once you're done, copy your script from the dashboard into the actual source file, either from an on-disk clone of this repo or directly on the GitHub interface. Then propose a pull request.
- Clone this repo on-disk
- Run
npm install - Allow your userscript manager to access files on disk:
- Go to Chrome Extension Settings
- Click the "Details" button on Tampermonkey or Violentmonkey
- Enable "Allow access to file URLs"
- From Violentmonkey:
- Simply drag the file into the Violentmonkey dashboard
- Enable checkbox "Track local file before this window is closed" and keep the tab open
- From Tampermonkey, create a new userscript that uses the version on-disk:
- Copy the real userscript into this new userscript
- Delete all the code (everything under
// ==/UserScript==) - Before the
// ==/UserScript==line, add// @require file:///C:/Path/To/Repo/azdo-userscripts/src/azdo-pr-dashboard.user.js - Remove the
@updateURLline - Reduce confusion:
- Change the
@nameto help identify that this script is not the official version (aka. add(LOCAL)to the end) - Change the
@versionto something like "0.1"
- Change the
- Open your favorite IDE and hack away! (e.g. VS Code)
Make sure you keep the proxy userscript in-sync with changes to the real userscript metadata block (since it doesn't use metadata from any @require files).
For each PR, make sure:
- Version is incremented following semantic versioning
- Runs in latest stable Chrome and Firefox without Javascript errors
- Works in both
dev.azure.com/accountandaccount.visualstudio.com - Customizations work in both light and dark theme
- Does not report any issues in
eslint(runnpm run build)
To test the changes in a pull request:
- Disable any versions of the userscript you have enabled (via Tampermonkey)
- Install the userscript from the GitHub PR
- Go to the
Files Changedtab - Hit the
...button on the top-right of the file - Hit
View file - Hit
Rawbutton in the page that comes up
- Go to the
- Test
- Delete the userscript from the PR
- Re-enable any original userscript
- Blocks of code are commented
- Follow the conventions as specified in eslint config (roughly, Airbnb JS style)
- All
@requireand@resourceURLs must have subresource-intregity hashes (use this hashing tool) - Vanilla JS is preferred. JQuery usage is deprecated and will be removed in the future