Skip to content

Conversation

@nikstur
Copy link

@nikstur nikstur commented Nov 13, 2025

Description

Now, nothing is dynamically downloaded from the internet at install
time. Instead, on first use, a cache direcory is created
(~/.cache/mdn-http-observatory) and these files downloaded:

  • Mozilla CA Bundle
  • HSTS preload list
  • TLD list

When one of these files is not present, it is downloaded on the next
invocation. When it is present on the filesystem it is used right away.

"Refreshing" these resources can then simply be done by removing the
cache directory and restarting the application. It can also be done by
calling npm run refreshCache or via npm run maintenance.

This enables packaging mdn-http-observatory for Linux distros.
Addittionaly, it makes the package a little easier to understand because
there is no loading of resources at various points at install time.

Motivation

Make distro packaging possible.

Related issues and pull requests

Closes #348

Now, nothing is dynamically downloaded from the internet at install
time. Instead, on first use, a cache direcory is created
(`~/.cache/mdn-http-observatory`) and these files downloaded:

- Mozilla CA Bundle
- HSTS preload list
- TLD list

When one of these files is not present, it is downloaded on the next
invocation. When it is present on the filesystem it is used right away.

"Refreshing" these resources can then simply be done by removing the
cache directory and restarting the application. It can also be done by
calling `npm run refreshCache` or via `npm run maintenance`.

This enables packaging mdn-http-observatory for Linux distros.
Additionaly, it makes the package a little easier to understand because
there is no loading of resources at various points at install time.
@nikstur
Copy link
Author

nikstur commented Nov 13, 2025

Successfully packaged this for Nixpkgs with this patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Distro packaging is hard because of downloads during build

1 participant