Curating, georeferencing and exploring for IIIF maps
100,000s of maps are available through IIIF, across libraries, archives and museums worldwide. Allmaps makes it easier and more inspiring to curate, georeference and explore collections of digitized maps.
👉 allmaps.org
More documentation coming soon!
Allmaps is an open source project and consists of multiple apps and packages, all written in TypeScript and contained by this monorepo.
Apps:
- Allmaps Viewer
- Allmaps Tile Server
- Allmaps Latest
- Allmaps CLI
- Allmaps Explore
- Allmaps Info
- Allmaps IIIF Viewer
- Allmaps Here
Packages:
- @allmaps/annotation
- @allmaps/id
- @allmaps/iiif-parser
- @allmaps/openlayers
- @allmaps/render
- @allmaps/stdlib
- @allmaps/tailwind
- @allmaps/transform
- @allmaps/triangulate
- @allmaps/types
- @allmaps/ui
First, clone this repository locally
git clone https://github.com/allmaps/allmaps.git
cd allmaps
Then install dependencies and create symlinks
pnpm install -r
npx lerna link
To run the dev
and build --watch
scripts for all packages and apps, run the following in one terminal window:
npx lerna run watch --parallel
And this in another:
npx lerna run dev --parallel
To only run a single app in dev mode, you need to run all packages in watch mode:
npx lerna run watch --parallel
And then use lerna with --scope
to select a single app:
npx lerna run --scope "@allmaps/viewer" dev
You can also directly run the dev
script from a single app:
cd apps/viewer
pnpm run dev
If things don't work, it might help to run:
npx lerna run check --parallel
or
npx lerna link
This repository uses Husky to run type checking, code linting and tests before each commit.
To skip these tests, you can use git's --no-verify
option:
git commit --no-verify
Check TypeScript types for all packages:
npx lerna run types --parallel
Run Prettier and ESLint for all packages:
npx lerna run lint --parallel
Run test
scripts for all packages and apps:
npx lerna run test --parallel
Run tests in single package:
npx lerna run --scope @allmaps/id test
Create prerelease versions:
lerna version prerelease
Publish beta versions to npm:
lerna publish from-git --dist-tag beta
Promoting unchanged pre-release versions:
lerna version --conventional-commits --conventional-graduate