As of November 2021, this project is not longer maintained because it has moved to addons-linter, see: mozilla/addons-linter#869.
The dispensary collects and offers hashes of popular JavaScript libraries, mainly for the Mozilla's addons-linter.
This is the (manual) process to update libraries in dispensary:
- Open
src/libraries.json
- Open the release pages of each library. Here is a list:
- https://github.com/angular/angular.js/releases
- https://github.com/jashkenas/backbone/releases
- https://github.com/twbs/bootstrap/releases
- https://download.dojotoolkit.org/
- https://github.com/cure53/DOMPurify/releases
- https://github.com/jquery/jquery/releases
- https://github.com/jquery/jquery-ui/releases
- https://github.com/moment/moment/releases
- https://github.com/mootools/mootools-core/releases
- http://prototypejs.org/
- https://github.com/facebook/react/releases
- https://github.com/jashkenas/underscore/releases
- https://github.com/mozilla/webextension-polyfill/releases
- On each page, check whether there are newer release versions than what is in
src/libraries.json
. Note that some libraries, like react, support several versions, so we need to check each "branch". - For major upgrades, take a quick look at the code changes
- Add new versions to
src/libraries.json
- Run
npm run update
- Commit and push (Make sure to include
src/libraries.json
andsrc/hashes.txt
) - Tag and release
Here are some commands you can run:
This command builds the project.
This command removes the build artifacts.
This command runs eslint (JavaScript linter).
This command runs pretty-quick to automatically compare and format modified source files against the master branch.
This command runs Prettier to automatically format the entire codebase.
This command runs Prettier and fail if some code has been changed without being formatted.
This command builds the project and then runs the test suite (in watch mode).
This command builds the project, runs the test suite and then reports code coverage (codecov).
This command runs all checks and is only useful in a CI context.
This command updates the list of release pages in the README.md
file based on the src/libraries.json
file.