Files
maptool/docs/third-party-notices.adoc
T
randy d72f8a3c94
CI / check (push) Successful in 18s
CI / deploy (push) Successful in 2m23s
Bundle go-pmtiles into the Docker image
The "Regenerate for current view" build was failing in production with
"could not run 'pmtiles'" — go-pmtiles was never actually installed
anywhere, just documented as something a developer runs by hand
locally (docs/development.adoc). Installs the static Linux binary from
go-pmtiles' own GitHub releases, architecture-matched via dpkg rather
than hardcoded amd64.

Verified the exact download/extract/exec sequence end-to-end outside
Docker (no daemon available in this sandbox to run a real build).
2026-09-11 11:47:31 +02:00

3.5 KiB
Raw Blame History

Third-party notices

Frontend libraries vendored under public/vendor/ instead of loaded from a CDN, so the app keeps working with no internet access. All are BSD-3-Clause licensed.

Library Version Source

MapLibre GL JS

6.6.0

https://github.com/maplibre/maplibre-gl-js

pmtiles (pmtiles.js)

4.5.0

https://github.com/protomaps/PMTiles

protomaps-themes-base

4.5.0

https://github.com/protomaps/basemaps

maplibre-contour (Overlays panel’s "Contour lines", public/js/contour.js)

0.1.0

https://github.com/onthegomap/maplibre-contour

Also vendored under public/vendor/, but not BSD-3-Clause like the above — MIT-licensed per its own package.json (the monorepo’s top-level LICENSE.md separately places the whole repo in the public domain as a work of the US government; either way, no attribution is required):

Library Version Source

NPS Home Button (home-button)

0.0.1-d

https://github.com/nationalparkservice/npmap5-plugins/tree/main/home-button

NPS Overview Map (maplibre-gl-overview)

5.0.1

https://github.com/nationalparkservice/npmap5-plugins/tree/maplibre-gl-overview

The overview map is vendored from an unmerged branch, not main (see docs/nps-resources.adoc), and converted from its UMD dist build to a plain ES module — no functional change except the module wrapper. It was also patched for a MapLibre API break: it reads map.transform (public in the MapLibre ~2.4 this plugin targets) to relax the overview’s polar pan limit, but MapLibre 6’s Map no longer exposes .transform at all — guarded to skip that (cosmetic) adjustment instead of throwing when it’s absent.

Offline map text labels need font glyphs too (see docs/architecture.adoc), vendored under public/vendor/fonts/ — SIL Open Font License, not BSD-3-Clause like the above:

Asset Source

Noto Sans Regular/Italic/Medium glyph PBFs (ranges 0-255, 256-511 only)

protomaps/basemaps-assets (fonts/, OFL.txt included alongside)

National Park (Bold weight only, .woff2), topbar wordmark (.topbar__brand, public/css/style.css) — see docs/nps-resources.adoc

nationalparktypeface.com (Ben Hoepner, Andrea Herstowski, Jeremy Shellhorn / DO Studio) — "published for free use under the SIL Open Font License" per the site; no OFL.txt ships in its own download zips, unlike Noto Sans above

The online map style (not vendored, fetched at runtime when the "Online" layer is selected) is OpenFreeMap "liberty", built from OpenStreetMap data.

Not a frontend asset like the above, but also baked into this app’s own Docker image (not a separate container the way kiwix-serve/gpsd are — see docs/deployment.adoc/docs/development.adoc): the pmtiles CLI (go-pmtiles), installed as a static binary in the Dockerfile for `lib/maptool/pmtiles_builder.rb’s in-app offline.pmtiles/terrain.pmtiles regeneration. BSD-3-Clause, same as pmtiles.js/MapLibre GL above.

Tool Version Source

go-pmtiles (pmtiles CLI)

1.31.2

https://github.com/protomaps/go-pmtiles

To update a vendored library: download its package (e.g. npm pack <name>@<version>), replace the corresponding files under public/vendor/<name>/, and update the version in this file. To update go-pmtiles, bump PMTILES_VERSION in the Dockerfile and the version here.