Skip to content

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.

Dependencies
Repositories

Preparing the layout…

Showing 26 of 37 repositories and 56 of 56 dependencies. Arrows run left to right, from a repository to what it depends on. Scroll to zoom, drag the background to pan, hover a repository to isolate it.

Repositories

Libraries

Code to build on — crates, npm packages and the container specification.

RepositoryAlsoDescriptionDepends onUsed by
node-versatiles-containerNode.js library for reading VersaTiles container files.24
node-versatiles-svelteSvelte components and bindings for displaying VersaTiles data in MapLibre GL JS.22
versatiles-fontsRepository of open-source SDF fonts optimized for MapLibre GL JS rendering.12
versatiles-frontendFrontend web applications for exploring VersaTiles maps and datasets.66
versatiles-glyphs-rsRust implementation of a signed-distance-field (SDF) glyph renderer used in map rendering.01
versatiles-rsApplicationsCore Rust implementation of the VersaTiles toolkit for converting, validating, and serving map tiles in multiple formats.05
versatiles-styleToolkit for generating MapLibre styles.111

Applications

Programs and sites people open and use directly.

RepositoryAlsoDescriptionDepends onUsed by
editorModified Maputnik for Versatiles Styles00
maplibre-versatiles-stylerMapLibre GL JS plugin for editing and managing VersaTiles map styles directly in the browser.21
maputnikAn open source visual editor for the 'MapLibre Style Specification'00
node-versatiles-google-cloudGoogle Cloud integration tools for hosting and serving VersaTiles data.30
node-versatiles-serverNode.js implementation of a VersaTiles tile server.40
versatiles-choroModular Docker-based pipeline for creating interactive choropleth maps30
versatiles-map-animationBrowser-based editor for composing keyframe camera animations on a VersaTiles map.10
versatiles-map-editor10
versatiles-studioCross-platform desktop application for opening, inspecting, styling and converting map tiles.41
versatiles-svg-rendererLibrariesrenders maps as SVG21

Tile production

Pipelines and images that turn open data into tilesets, fonts and sprites.

RepositoryAlsoDescriptionDepends onUsed by
elevation00
landcover-vectorsGenerate landcover vector tiles from ESA Worldcover00
opendem-gebco-bathymetryVersatiles Container from GEBCO Bathymetry Data provided by OpenDEM00
orthophotosProcessing pipeline and hosting setup for global and regional orthophoto layers.30
planetilerFlexible tool to build planet-scale vector tilesets from OpenStreetMap data fast02
planetiler-shortbreadNative Java Planetiler profile generating vector tiles in the Shortbread schema10
shortbread-tilemakerTilemaker configuration for generating Shortbread vector tiles.00

Infrastructure

How the software is packaged, deployed and hosted.

RepositoryAlsoDescriptionDepends onUsed by
download.versatiles.orgData download hub for VersaTiles datasets.30
homebrew-versatilesHomebrew tap for installing VersaTiles CLI tools on macOS.20
photon-stack00
versatiles-dockerDocker images and build scripts for the VersaTiles ecosystem.34

Project

Documentation, release tooling and the rest of what keeps the project running.

RepositoryAlsoDescriptionDepends onUsed by
.githubShared GitHub workflows, templates, and issue configurations for all VersaTiles repositories.00
consortium00
node-release-toolHelper tool for automating Node.js package releases across VersaTiles repositories.011
playgroundInteractive playground demonstrating how to use VersaTiles in web applications.00
tiles.versatiles.orgTile hosting service for public VersaTiles datasets.30
toolsUtility scripts and helper tools built around the VersaTiles ecosystem.50
versatiles-documentationDocumentation for the VersaTiles ecosystem.10
versatiles-org.github.ioSource code for the public website at versatiles.org.00
versatiles-specSpecification for VersaTiles containers.02

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
FromToFoundSource
download.versatiles.orgnode-release-tool@versatiles/release-tool@^2.9.1package.json
download.versatiles.orgnode-versatiles-container@versatiles/container@^2.0.0package.json
download.versatiles.orgnode-versatiles-svelte@versatiles/svelte@^2.3.1package.json
maplibre-versatiles-stylernode-release-tool@versatiles/release-tool@^2.9.1package.json
maplibre-versatiles-stylerversatiles-style@versatiles/style@^5.13.1package.json
node-versatiles-containernode-release-tool@versatiles/release-tool@^2.9.1package.json
node-versatiles-google-cloudnode-release-tool@versatiles/release-tool@^2.9.1package.json
node-versatiles-google-cloudnode-versatiles-container@versatiles/container@^1.5.1package.json
node-versatiles-google-cloudversatiles-style@versatiles/style@^5.13.1package.json
node-versatiles-servernode-release-tool@versatiles/release-tool@^2.9.1package.json
node-versatiles-servernode-versatiles-container@versatiles/container@^1.5.1package.json
node-versatiles-serverversatiles-style@versatiles/style@^5.13.1package.json
node-versatiles-sveltenode-release-tool@versatiles/release-tool@^2.9.0package.json
node-versatiles-svelteversatiles-style@versatiles/style@^5.13.0package.json
orthophotosnode-release-tool@versatiles/release-tool@^2.9.1package.json
toolsnode-release-tool@versatiles/release-tool@^2.10.0package.json
toolsnode-versatiles-container@versatiles/container@^2.0.0package.json
toolsnode-versatiles-svelte@versatiles/svelte@^2.3.1package.json
versatiles-choroversatiles-rs@versatiles/versatiles-rs@^4.10.0package.json
versatiles-choroversatiles-style@versatiles/style@^5.13.1package.json
versatiles-frontendmaplibre-versatiles-stylermaplibre-versatiles-styler@^1.3.2package.json
versatiles-frontendnode-release-tool@versatiles/release-tool@^2.9.0package.json
versatiles-frontendversatiles-style@versatiles/style@^5.13.1package.json
versatiles-frontendversatiles-svg-renderer@versatiles/svg-renderer@^1.1.0package.json
versatiles-map-animationversatiles-style@versatiles/style@^5.13.1package.json
versatiles-map-editorversatiles-style@versatiles/style@^5.13.1package.json
versatiles-studioversatiles-style@versatiles/style@^5.13.1package.json
versatiles-stylenode-release-tool@versatiles/release-tool@^2.9.0package.json
versatiles-svg-renderernode-release-tool@versatiles/release-tool@^2.9.0package.json
versatiles-svg-rendererversatiles-style@versatiles/style@^5.13.1package.json

Rust crates

The repository depends on one of the project’s crates in Cargo.toml.

Where these 5 links come from
FromToFoundSource
versatiles-studioversatiles-rsversatilesCargo.toml
versatiles-studioversatiles-rsversatiles_containerCargo.toml
versatiles-studioversatiles-rsversatiles_coreCargo.toml
versatiles-studioversatiles-rsversatiles_geometryCargo.toml
versatiles-studioversatiles-rsversatiles_pipelineCargo.toml

Docker images

A Dockerfile builds on an image produced by another repository.

Where these 4 links come from
FromToFoundSource
orthophotosversatiles-dockerghcr.io/versatiles-org/versatiles-gdalDockerfile
tiles.versatiles.orgversatiles-dockerversatiles/versatilescompose.yaml
tiles.versatiles.orgversatiles-dockerversatiles/versatilesdownload/Dockerfile
versatiles-choroversatiles-dockerversatiles/versatiles-tippecanoedocker/Dockerfile

Downloaded artifacts

Build scripts or runtime code fetch release assets or raw files from another repository.

Where these 26 links come from
FromToFoundSource
homebrew-versatilesversatiles-rsgithub.com/versatiles-org/versatiles-rs/releasesbin/make_formula.sh
homebrew-versatilesversatiles-studio"versatiles-org/versatiles-studio"bin/make_cask.sh
node-versatiles-containerversatiles-specgithub.com/versatiles-org/versatiles-spec/blobsrc/index.ts
node-versatiles-containerversatiles-specgithub.com/versatiles-org/versatiles-spec/blobsrc/lib/interfaces.ts
node-versatiles-serverversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasesscripts/update-frontend.sh
orthophotosversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasessrc/server/frontend.ts
tiles.versatiles.orgversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasesbin/frontend/update.sh
tiles.versatiles.orgversatiles-stylegithub.com/versatiles-org/versatiles-style/releasesbin/styles/update.sh
toolsversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasessrc/routes/setup_server/generate_code.ts
toolsversatiles-rsgithub.com/versatiles-org/versatiles-rs/releasessrc/routes/setup_server/generate_code.ts
versatiles-choroversatiles-rsgithub.com/versatiles-org/versatiles-rs.gitdocker/Dockerfile
versatiles-dockerplanetilergithub.com/versatiles-org/planetiler.gitversatiles-planetiler/Dockerfile
versatiles-dockerversatiles-frontend"versatiles-org/versatiles-frontend"versatiles-frontend/build.sh
versatiles-dockerversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasesversatiles-frontend/Dockerfile
versatiles-dockerversatiles-frontendgithub.com/versatiles-org/versatiles-frontend/releasesversatiles-nginx/scripts/fetch_frontend.sh
versatiles-dockerversatiles-rs"versatiles-org/versatiles-rs"scripts/utils.sh
versatiles-dockerversatiles-rsgithub.com/versatiles-org/versatiles-rs.gitversatiles-gdal/Dockerfile
versatiles-dockerversatiles-rsgithub.com/versatiles-org/versatiles-rs/releasesscripts/download_versatiles_binary.sh
versatiles-documentationversatiles-spec'versatiles-org/versatiles-spec'scripts/sync-spec.ts
versatiles-fontsversatiles-glyphs-rsgithub.com/versatiles-org/versatiles-glyphs-rs/raw.github/workflows/release.yml
versatiles-fontsversatiles-glyphs-rsgithub.com/versatiles-org/versatiles-glyphs-rs/rawscripts/build.ts
versatiles-frontendversatiles-fontsgithub.com/versatiles-org/versatiles-fonts/releasesfrontends/config.ts
versatiles-frontendversatiles-stylegithub.com/versatiles-org/versatiles-style/releasesfrontends/config.ts
versatiles-studioversatiles-fonts'versatiles-org/versatiles-fonts'scripts/update-assets.ts
versatiles-studioversatiles-frontend'versatiles-org/versatiles-frontend'scripts/update-assets.ts
versatiles-studioversatiles-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
FromToFoundSource
planetiler-shortbreadplanetilerversatiles-org/planetiler.github/workflows/ci.yml
versatiles-frontendversatiles-dockerapi.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:

Private repositories are not included, and neither are dependencies on software outside the organisation.

Released under Unlicense