HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mozilla
addons-frontend
JavaScript2017–2021
mozilla / addons-frontend

addons-frontend

Front-end to complement mozilla/addons-server

27Distinct people
34Mentions
0Explicit recommenders
547GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Front-end to complement mozilla/addons-server

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 7:02:50 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year34 dated mentions

Observed mentions: 2017-07-12 15:53:05 UTC to 2021-08-31 10:50:21 UTC.

051015202017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 21 mentions; 2 submissions, 19 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC21219
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC707
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC110
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Addons-frontend 🔥 Front-end infrastructure and code to complement mozilla/addons-server. Security Bug Reports This code and its associated production website are included in Mozilla’s web and services bug bounty program. If you find a security vulnerability, please submit it via the process outlined in the program and FAQ pages. Further technical details about this application are available from the Bug Bounty Onramp page. Please submit all security-related bugs through Bugzilla using the web security bug form. Never submit security-related bugs through a Github Issue or by email. Requirements You need Node LTS (long term support) release. npm is used to manage dependencies and run scripts. It ships with Node. The easiest way to manage multiple node versions in development is to use nvm. Get started If you are on Windows, please make sure to follow windows guidelines too. type npm install to install all dependencies type npm run amo:stage to start a local server that connects to a hosted staging server Development commands Here are some commands you can run: Command Description npm run amo:olympia Start the dev server/proxy (for amo) using data from a local addons-server environment. npm run amo:dev Start the dev server/proxy (for amo) using data from the dev server (https://addons-dev.allizom.org/) npm run amo:dev-https Same as amo:dev but with HTTPS, available at: https://example.com:3000/. Read about setting up this environment npm run amo:stage Start the dev server/proxy (for amo) using data from the staging server (https://addons.allizom.org/) npm run build Build the app. npm run build-ci Run the build and bundlewatch npm scripts. npm run bundlewatch Run bundlewatch to check the generated AMO bundle sizes. Building AMO is required first. npm run flow Run Flow. By default this checks for errors and exits npm run flow:check Explicitly check for Flow errors and exit npm run flow:dev Continuously check for Flow errors npm run eslint Lint the JS npm run start-func-test-server Start a Docker container for functional tests npm run stylelint Lint the SCSS npm run lint Run all the JS + SCSS linters npm run prettier Run Prettier to automatically format the entire codebase npm run prettier-dev Run [Pretty-Quick][] to automatically compare and format modified source files against the master branch npm run prettier-ci Run Prettier and fail if some code has been changed without being formatted npm run version-check Check you have the required dependencies npm test Run all tests (Enters jest in --watch mode) npm run test-debug Run all tests with full console output and full error messages (Enters jest in --watch mode) npm run test-coverage Run all tests and generate code coverage report (Enters jest in --watch mode) npm run test-coverage-once Run all tests, generate code coverage report, then exit npm run test-once Run all tests, run all JS + SCSS linters, then exit npm run test-ci Run all continuous integration checks. This is only meant to run on CI. Running tests You can enter the interactive jest mode by typing npm test or npm run test-debug. This is the easiest way to develop new features. Here are a few tips: npm test will hide most console output and detailed test failure messages, so it is best when you are running a full suite of tests. When working on an individual test, you likely want to run npm run test-debug. When you start npm test, you can switch to your code editor and begin adding test files or changing existing code. As you save each file, jest will only run tests related to the code you change. If you had typed a when you first started then jest will continue to run the full suite even when you change specific files. Type o to switch back to the mode of only running tests related to the files you are changing. Sometimes running tests related to your file changes is slow. In these cases, you can type p or t to filter tests by name while you working fixing a specific test suite. More info. If you see something like Error watching file for changes: EMFILE on Mac OS then brew install watchman might fix it. See jestjs/jest#1767 Run a subset of the tests By default, npm test will only run a subset of tests that relate to the code you are working on. To explicitly run a subset of tests, you can type t or p which are explained in the jest watch usage. Alternatively, you can start the test runner with a specific file or regular expression, like: npm test -- tests/unit/amo/components/TestAddon.js Run all tests If you want to run all tests and exit, type: npm run test-once Eslint As you run tests you will see a report of Eslint errors at the end of the test output: npm test If you would like to run tests without Eslint checks, set an environment variable: NO_ESLINT=1 npm test Flow There is limited support for using Flow to validate the intention of our program. The current version of Flow does not have default support for Silicon Macs. To allow Flow to run on Silicon Macs, first install Rosetta 2 using sudo softwareupdate --install-rosetta --agree-to-license As you run tests you will see a report of Flow errors at the end of the test output: npm test If you would like to run tests without Flow checks, set an environment variable: NO_FLOW=1 npm test To only check for Flow issues during development while you edit files, run: npm run flow:dev If you are new to working with Flow, here are some tips: Check out the getting started guide. Read through the web-ext guide for hints on how to solve common Flow errors. To add flow coverage to a source file, put a /* @flow */ comment at the top. The more source files you can opt into Flow, the better. Here is our Flow manifesto: We use Flow to declare the intention of our code and help others refactor it with confidence. Flow also makes it easier to catch mistakes before spending hours in a debugger trying to find out what happened. Avoid magic Flow declarations for any inte
Read the full README on GitHub

What Hacker News says

21 sources
If Tor browser sends additional data over the net, it does so via the Tor network, so you are at no more risk than any other explicit requests you make via Tor browser. Unless you're using uMatrix in advanced mode with extra strict content settings enabled, Tor browser won't keep your session completely private. It isn't designed to do so. It's designed to keep a single session isolated and - if you're careful - anonymous within itself, but any activity within that session can still be easily associated with other activity within that session, unless you're selectively blocking 3rd parties. NoScript (bundled with TorBrowser) does this partially but not fully. Beyond the above (that TorBrowser isn't designed to protect from what we're discussing here, and as such their vetting won't be overly concerned with it), there's also the fact that
Read the rest
they track ESR which is likely to have less of these issues since they'll usually be fixed before feature releases are backported. Edit: In case you're still of the view these bugs are "imagined", here's two small (related) examples: [0], [1] though not the only ones. The "lack of consideration" I referred to in my above post that imo causes these bugs is the language seen in the second one of those bugs: > It's not tracking but I'd imagine users who were uncomfortable submitting usage data from the app to GA also don't want to log their errors in Sentry This is a Mozilla developer who seems to fundamentally disagree with (I'd guess most) users on what tracking means. [0] https://bugzilla.mozilla.org/show_bug.cgi?id=1380754 [1] https://github.com/mozilla/addons-frontend/issues/2802
In Firefox is on a slippery slope
Well, does it matter if I use Chrome, which sends everything I do back to Google Analytics, or if I use Firefox, which also sends my interaction with the Addon menu to Google https://github.com/mozilla/addons-frontend/issues/2785 and my browsing history to a German publishing, ad and tracking company (CliqZ belongs to the Burda Group) https://news.ycombinator.com/item?id=15421708 ? In a previous discussion, a Mozilla employee gave me as official statement that if I don’t trust Google, I shouldn’t use Firefox. If I have to trust Google anyway, I can at least use the better browser. Disclaimer: Until today, I’ve defended Mozilla in all such discussions, and kept the same PoV that you have presented here, but I just can’t do that anymore, when Mozilla is now just as evil as Google.
In Unknown Mozilla dev addon "Looking Glass 1.0.3" on browser
> let's all take a step back and give them a little benefit of the doubt here, until we get some facts on what happened. Except for: Google Analytics being used on the Firefox Addons menu – solved by adding, in grey text on grey background, a tiny "Privacy Policy" link: https://github.com/mozilla/addons-frontend/issues/2785 Automatically sending URLs visited of random German Firefox users to a German company (CliqZ) owned by a publishing, advertisement and tracking company (Burda): https://news.ycombinator.com/item?id=15421708 Mozilla forcefully enabling toolkit.telemetry.enabled in Nightly and Developer versions, and, upon being asked, saying that "below the download link is a text telling you that by downloading these, you opt-in to telemetry". Benefit of the doubt is over, it’s time to get the pitchforks out.
In Unknown Mozilla dev addon "Looking Glass 1.0.3" on browser
And this is the point where even the most Mozilla-supporting users move away. For me, this is it, I’m going to Chromium. Fuck this shit, in the past months we had CliqZ https://news.ycombinator.com/item?id=15421708, we had Mozilla adding new telemetry, we had Mozilla force-enable toolkit.telemetry.enabled, we had Mozilla say that, if you download Nightly, that is considered opt-in to tracking, we had Mozilla put Google Analytics into the Addons menu (because it’s loaded from addons.mozilla.org: https://github.com/mozilla/addons-frontend/issues/2785 ), and we had Mozilla say that, if we don’t trust Google, we shouldn’t use Firefox. Fuck this.
In Unknown Mozilla dev addon "Looking Glass 1.0.3" on browser
Those are both anonymized, though. That doesn't make it okay, necessarily, but that's a pretty clear line, so I don't think this is a frog in boiling water situation. They also willing to have conversations with users about privacy in the open [0] [1], and both telemetry and Google Analytics can be turned off. (The latter is already turned off if you've enabled Do Not Track.) Finally, Mozilla apparently spent a year working on a contract with Google before they even enabled Google Analytics [2], so it wasn't a matter of slapping Google Analytics on a page because they thought one page couldn't possibly hurt. That being said, I'm skeptical of their use of Google Analytics, so I'm not trying to defend that. I do think it's unfair to imply Mozilla is carelessly following the rest of the web, though. [0]: https://bugzilla.mozilla.org/show_bug
Read the rest
In The trouble with text-only email
Even worse, in that discussion, it appears that there's a backdoor built into Firefox so that WebExtension-based ad blockers can't block Google Analytics. Only old-style add-ons can block it. "It's as if the order to block/redirect the network request was silently ignored by the webRequest API, and this causes webext-based blockers to incorrectly and misleadingly report to users what is really happening internally."[1] [1] https://github.com/mozilla/addons-frontend/issues/2785
In Studying how Firefox can collect additional data in a privacy-preserving way
> No phoning home. No telemetry, no data collection. No "light" version of the same, no "privacy-respecting" what-have-you. No means No. Nada. Zilch. Try and shovel any of that down people's throats and the idea of Firefox as a user's browser will die. https://github.com/mozilla/addons-frontend/issues/2785 And now this :-( I have been using Firefox since before it was called that. I develop my apps in it, even though most of my colleagues have switched to Chrome years ago. Even though it is (or was for a while) slower than Chrome for things like Canvas. But I use because I believe in Free Software. But Mozilla keeps disappointing. DRM, bundled 3-rd party apps, analytics, tracking... It is just so very sad. :-( Also, I have 17 add-ons installed (11 active). At present, of these 17, only 2 will continue working after November when the switc
Read the rest
h to WebExtensions is enforced. Where to go from here?
In Studying how Firefox can collect additional data in a privacy-preserving way
uBlock Origin on Firefox would be more powerful than uBlock Origin on Chrome, but does it mean that uBlock Origin webextension on Firefox will be as powerful as uBlock Origin "legacy" Firefox extension ? This is a post of gorhill from the last months Firefox - Google Analytics fiasco: > Legacy uBlock Origin can block the network request to GA. > However webext-hybrid uBO as per Network pane in dev tools does not block it. Same for pure webext Ghostery, the network request to GA was not blocked, again as per Network pane in dev tools. > What is concerning is that both uBO webext-hybrid and Ghostery report the network request to GA as being blocked, while it is really not as per Network pane in dev tools. It's as if the order to block/redirect the network request was silently ignored by the webRequest API, and this causes webext-based block
Read the rest
ers to incorrectly and misleadingly report to users what is really happening internally, GA was not really blocked on about:addons, but there is no way for the webext blockers to know this and report properly to users. https://github.com/mozilla/addons-frontend/issues/2785#issue...
In uBlock Origin Maintainer on Chrome vs. Firefox WebExtensions
> The general UI and their overall design philosophy https://news.ycombinator.com/item?id=14805761 > shelling out data to places that I don't approve of (pocket/ga) Pocket was not shelling out data, Pocket was an addition of an add on by default, one which did nothing unless you tried to use it (and if you did you'd have to sign in to a 3rd party site -- it's all pretty obvious) Mozilla has a deal with GA that restricts the data collected. https://github.com/mozilla/addons-frontend/issues/2785#issue... The data collected is IIRC only aggregate numbers. Neither of these are "copying Chrome", they're just "things you don't like" > rapid releases The web is evolving pretty fast too. This has become necessary over time. > toggle-able options no idea what you mean here
In Firefox marketshare revisited
Someone submitted a PR to Mozilla to fix this, and the Mozilla devs closed it, arguing that Google Analytics does not count as tracking. See: https://github.com/mozilla/addons-frontend/pull/2787#issueco... The TOR devs are fixing this part in their browser, and their comment was: > Disallow `about:addons` unless the extensions directory is volatile, because regardless of what Mozilla PR says about respecting privacy, loading Google Analytics in a page that gets loaded as an IFRAME as part of an `about:` internal page, is anything but.
In Firefox tracks users with Google Analytics in the add-on settings
Quick breakdown of what's going on here (I work at Mozilla, and have worked on the Add-ons site in the past): The "Get Add-ons" view in Firefox is an iframe to a page hosted by addons.mozilla.org. AMO, as all Mozilla sites, use GA to collect aggregate visitor statistics. We negotiated a special contract with Google [1] to only collect a subset of data and that that data is only used for statistical purposes. Google Analytics is only loaded when this view is loaded, and is not otherwise "inside" Firefox. I filed an issue [2] to make sure that our privacy policy is linked from the Get Add-ons view so users can be better informed. Mozilla tries to walk a very thin wire to ensure that we have the data we need to make sure our products are working properly without being intrusive, and to let concerned users opt-out of even that baseline data c
Read the rest
In Firefox tracks users with Google Analytics in the add-on settings

Showing the 15 most recent of 21 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.