Repository dependencies
NOTE
This page is generated from the public repositories of the versatiles-org organisation. To correct or extend it, change scripts/dependency-graph.yaml or the repository it describes — edits made here are overwritten.
VersaTiles is not one program but a few dozen repositories that build on each other: a Rust core, npm packages, Docker images, tile-generation pipelines and the sites that serve the result. Those links are easy to lose track of, because they are written down in a different place every time — a package.json here, a FROM line there, a curl in a shell script somewhere else.
This page collects all of them in one place.
Overview
An arrow points from a repository to what it depends on, and the layout runs left to right: whatever is built on most ends up on the right, with everything that builds on it to the left. Line style says how the dependency is expressed; colour says what the repository is.
A graph of the whole organisation is a lot at once, so it can be narrowed down — by one kind of dependency at a time, or to the repositories that carry a given tag. Several repositories carry more than one: versatiles-rs is both a library to build on and the tool that converts tilesets, and it shows up under either.
Preparing the layout…
Repositories
Libraries
Code to build on — crates, npm packages and the container specification.
| Repository | Also | Description | Depends on | Used by |
|---|---|---|---|---|
| node-versatiles-container | — | Node.js library for reading VersaTiles container files. | 2 | 4 |
| node-versatiles-svelte | — | Svelte components and bindings for displaying VersaTiles data in MapLibre GL JS. | 2 | 2 |
| versatiles-fonts | — | Repository of open-source SDF fonts optimized for MapLibre GL JS rendering. | 1 | 2 |
| versatiles-frontend | — | Frontend web applications for exploring VersaTiles maps and datasets. | 6 | 6 |
| versatiles-glyphs-rs | — | Rust implementation of a signed-distance-field (SDF) glyph renderer used in map rendering. | 0 | 1 |
| versatiles-rs | Applications | Core Rust implementation of the VersaTiles toolkit for converting, validating, and serving map tiles in multiple formats. | 0 | 5 |
| versatiles-style | — | Toolkit for generating MapLibre styles. | 1 | 11 |
Applications
Programs and sites people open and use directly.
| Repository | Also | Description | Depends on | Used by |
|---|---|---|---|---|
| editor | — | Modified Maputnik for Versatiles Styles | 0 | 0 |
| maplibre-versatiles-styler | — | MapLibre GL JS plugin for editing and managing VersaTiles map styles directly in the browser. | 2 | 1 |
| maputnik | — | An open source visual editor for the 'MapLibre Style Specification' | 0 | 0 |
| node-versatiles-google-cloud | — | Google Cloud integration tools for hosting and serving VersaTiles data. | 3 | 0 |
| node-versatiles-server | — | Node.js implementation of a VersaTiles tile server. | 4 | 0 |
| versatiles-choro | — | Modular Docker-based pipeline for creating interactive choropleth maps | 3 | 0 |
| versatiles-map-animation | — | Browser-based editor for composing keyframe camera animations on a VersaTiles map. | 1 | 0 |
| versatiles-map-editor | — | — | 1 | 0 |
| versatiles-studio | — | Cross-platform desktop application for opening, inspecting, styling and converting map tiles. | 4 | 1 |
| versatiles-svg-renderer | Libraries | renders maps as SVG | 2 | 1 |
Tile production
Pipelines and images that turn open data into tilesets, fonts and sprites.
| Repository | Also | Description | Depends on | Used by |
|---|---|---|---|---|
| elevation | — | — | 0 | 0 |
| landcover-vectors | — | Generate landcover vector tiles from ESA Worldcover | 0 | 0 |
| opendem-gebco-bathymetry | — | Versatiles Container from GEBCO Bathymetry Data provided by OpenDEM | 0 | 0 |
| orthophotos | — | Processing pipeline and hosting setup for global and regional orthophoto layers. | 3 | 0 |
| planetiler | — | Flexible tool to build planet-scale vector tilesets from OpenStreetMap data fast | 0 | 2 |
| planetiler-shortbread | — | Native Java Planetiler profile generating vector tiles in the Shortbread schema | 1 | 0 |
| shortbread-tilemaker | — | Tilemaker configuration for generating Shortbread vector tiles. | 0 | 0 |
Infrastructure
How the software is packaged, deployed and hosted.
| Repository | Also | Description | Depends on | Used by |
|---|---|---|---|---|
| download.versatiles.org | — | Data download hub for VersaTiles datasets. | 3 | 0 |
| homebrew-versatiles | — | Homebrew tap for installing VersaTiles CLI tools on macOS. | 2 | 0 |
| photon-stack | — | — | 0 | 0 |
| versatiles-docker | — | Docker images and build scripts for the VersaTiles ecosystem. | 3 | 4 |
Project
Documentation, release tooling and the rest of what keeps the project running.
| Repository | Also | Description | Depends on | Used by |
|---|---|---|---|---|
| .github | — | Shared GitHub workflows, templates, and issue configurations for all VersaTiles repositories. | 0 | 0 |
| consortium | — | — | 0 | 0 |
| node-release-tool | — | Helper tool for automating Node.js package releases across VersaTiles repositories. | 0 | 11 |
| playground | — | Interactive playground demonstrating how to use VersaTiles in web applications. | 0 | 0 |
| tiles.versatiles.org | — | Tile hosting service for public VersaTiles datasets. | 3 | 0 |
| tools | — | Utility scripts and helper tools built around the VersaTiles ecosystem. | 5 | 0 |
| versatiles-documentation | — | Documentation for the VersaTiles ecosystem. | 1 | 0 |
| versatiles-org.github.io | — | Source code for the public website at versatiles.org. | 0 | 0 |
| versatiles-spec | — | Specification for VersaTiles containers. | 0 | 2 |
How each link is declared
A dependency can be written down in half a dozen different ways, each one found in a different kind of file. Every arrow in the graph above comes from one of the lines listed below, and can be followed back to it.
npm packages
The repository lists a @versatiles/… package among its npm dependencies.
Where these 30 links come from
| From | To | Found | Source |
|---|---|---|---|
| download.versatiles.org | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| download.versatiles.org | node-versatiles-container | @versatiles/container@^2.0.0 | package.json |
| download.versatiles.org | node-versatiles-svelte | @versatiles/svelte@^2.3.1 | package.json |
| maplibre-versatiles-styler | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| maplibre-versatiles-styler | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| node-versatiles-container | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| node-versatiles-google-cloud | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| node-versatiles-google-cloud | node-versatiles-container | @versatiles/container@^1.5.1 | package.json |
| node-versatiles-google-cloud | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| node-versatiles-server | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| node-versatiles-server | node-versatiles-container | @versatiles/container@^1.5.1 | package.json |
| node-versatiles-server | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| node-versatiles-svelte | node-release-tool | @versatiles/release-tool@^2.9.0 | package.json |
| node-versatiles-svelte | versatiles-style | @versatiles/style@^5.13.0 | package.json |
| orthophotos | node-release-tool | @versatiles/release-tool@^2.9.1 | package.json |
| tools | node-release-tool | @versatiles/release-tool@^2.10.0 | package.json |
| tools | node-versatiles-container | @versatiles/container@^2.0.0 | package.json |
| tools | node-versatiles-svelte | @versatiles/svelte@^2.3.1 | package.json |
| versatiles-choro | versatiles-rs | @versatiles/versatiles-rs@^4.10.0 | package.json |
| versatiles-choro | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| versatiles-frontend | maplibre-versatiles-styler | maplibre-versatiles-styler@^1.3.2 | package.json |
| versatiles-frontend | node-release-tool | @versatiles/release-tool@^2.9.0 | package.json |
| versatiles-frontend | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| versatiles-frontend | versatiles-svg-renderer | @versatiles/svg-renderer@^1.1.0 | package.json |
| versatiles-map-animation | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| versatiles-map-editor | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| versatiles-studio | versatiles-style | @versatiles/style@^5.13.1 | package.json |
| versatiles-style | node-release-tool | @versatiles/release-tool@^2.9.0 | package.json |
| versatiles-svg-renderer | node-release-tool | @versatiles/release-tool@^2.9.0 | package.json |
| versatiles-svg-renderer | versatiles-style | @versatiles/style@^5.13.1 | package.json |
Rust crates
The repository depends on one of the project’s crates in Cargo.toml.
Where these 5 links come from
| From | To | Found | Source |
|---|---|---|---|
| versatiles-studio | versatiles-rs | versatiles | Cargo.toml |
| versatiles-studio | versatiles-rs | versatiles_container | Cargo.toml |
| versatiles-studio | versatiles-rs | versatiles_core | Cargo.toml |
| versatiles-studio | versatiles-rs | versatiles_geometry | Cargo.toml |
| versatiles-studio | versatiles-rs | versatiles_pipeline | Cargo.toml |
Docker images
A Dockerfile builds on an image produced by another repository.
Where these 4 links come from
| From | To | Found | Source |
|---|---|---|---|
| orthophotos | versatiles-docker | ghcr.io/versatiles-org/versatiles-gdal | Dockerfile |
| tiles.versatiles.org | versatiles-docker | versatiles/versatiles | compose.yaml |
| tiles.versatiles.org | versatiles-docker | versatiles/versatiles | download/Dockerfile |
| versatiles-choro | versatiles-docker | versatiles/versatiles-tippecanoe | docker/Dockerfile |
Downloaded artifacts
Build scripts or runtime code fetch release assets or raw files from another repository.
Where these 26 links come from
| From | To | Found | Source |
|---|---|---|---|
| homebrew-versatiles | versatiles-rs | github.com/versatiles-org/versatiles-rs/releases | bin/make_formula.sh |
| homebrew-versatiles | versatiles-studio | "versatiles-org/versatiles-studio" | bin/make_cask.sh |
| node-versatiles-container | versatiles-spec | github.com/versatiles-org/versatiles-spec/blob | src/index.ts |
| node-versatiles-container | versatiles-spec | github.com/versatiles-org/versatiles-spec/blob | src/lib/interfaces.ts |
| node-versatiles-server | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | scripts/update-frontend.sh |
| orthophotos | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | src/server/frontend.ts |
| tiles.versatiles.org | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | bin/frontend/update.sh |
| tiles.versatiles.org | versatiles-style | github.com/versatiles-org/versatiles-style/releases | bin/styles/update.sh |
| tools | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | src/routes/setup_server/generate_code.ts |
| tools | versatiles-rs | github.com/versatiles-org/versatiles-rs/releases | src/routes/setup_server/generate_code.ts |
| versatiles-choro | versatiles-rs | github.com/versatiles-org/versatiles-rs.git | docker/Dockerfile |
| versatiles-docker | planetiler | github.com/versatiles-org/planetiler.git | versatiles-planetiler/Dockerfile |
| versatiles-docker | versatiles-frontend | "versatiles-org/versatiles-frontend" | versatiles-frontend/build.sh |
| versatiles-docker | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | versatiles-frontend/Dockerfile |
| versatiles-docker | versatiles-frontend | github.com/versatiles-org/versatiles-frontend/releases | versatiles-nginx/scripts/fetch_frontend.sh |
| versatiles-docker | versatiles-rs | "versatiles-org/versatiles-rs" | scripts/utils.sh |
| versatiles-docker | versatiles-rs | github.com/versatiles-org/versatiles-rs.git | versatiles-gdal/Dockerfile |
| versatiles-docker | versatiles-rs | github.com/versatiles-org/versatiles-rs/releases | scripts/download_versatiles_binary.sh |
| versatiles-documentation | versatiles-spec | 'versatiles-org/versatiles-spec' | scripts/sync-spec.ts |
| versatiles-fonts | versatiles-glyphs-rs | github.com/versatiles-org/versatiles-glyphs-rs/raw | .github/workflows/release.yml |
| versatiles-fonts | versatiles-glyphs-rs | github.com/versatiles-org/versatiles-glyphs-rs/raw | scripts/build.ts |
| versatiles-frontend | versatiles-fonts | github.com/versatiles-org/versatiles-fonts/releases | frontends/config.ts |
| versatiles-frontend | versatiles-style | github.com/versatiles-org/versatiles-style/releases | frontends/config.ts |
| versatiles-studio | versatiles-fonts | 'versatiles-org/versatiles-fonts' | scripts/update-assets.ts |
| versatiles-studio | versatiles-frontend | 'versatiles-org/versatiles-frontend' | scripts/update-assets.ts |
| versatiles-studio | versatiles-style | 'versatiles-org/versatiles-style' | scripts/update-assets.ts |
CI and release automation
A GitHub Actions workflow uses an action, reusable workflow or dispatch of another repository.
Where these 2 links come from
| From | To | Found | Source |
|---|---|---|---|
| planetiler-shortbread | planetiler | versatiles-org/planetiler | .github/workflows/ci.yml |
| versatiles-frontend | versatiles-docker | api.github.com/repos/versatiles-org/versatiles-docker/actions/workflows/release.yml/dispatches | .github/workflows/release.yml |
How this page is made
scripts/build-dependency-graph.ts reads the public repositories of the organisation and looks for dependencies in the places they are actually declared: package.json, Cargo.toml, Dockerfiles, GitHub Actions workflows, and build or install scripts that fetch release assets. Markdown is deliberately not searched — README badges and prose links mention half the organisation and say nothing about what a build needs.
Every arrow therefore has a file and a line behind it, listed in the tables above and available as machine-readable data in dependency-graph.json, published alongside this page as /dependency-graph.json. What no parser can see — operational dependencies, for instance — is declared by hand in scripts/dependency-graph.yaml, which is also where false positives are filtered out and repositories are assigned to the tags above.
The following repositories are left out:
- planetiler-shortbread-docker — archived
- shortbread-compare-demo — archived
- versatiles-generator — archived
Private repositories are not included, and neither are dependencies on software outside the organisation.