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.
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 allmapsThen install dependencies and create symlinks
pnpm install -r
npx lerna linkTo run the dev and build --watch scripts for all packages and apps, run the following in one terminal window:
npx lerna run watch --parallelAnd this in another:
npx lerna run dev --parallelTo only run a single app in dev mode, you need to run all packages in watch mode:
npx lerna run watch --parallelAnd then use lerna with --scope to select a single app:
npx lerna run --scope "@allmaps/viewer" devYou can also directly run the dev script from a single app:
cd apps/viewer
pnpm run devIf things don't work, it might help to run:
npx lerna run check --parallelor
npx lerna linkThis 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-verifyCheck TypeScript types for all packages:
npx lerna run types --parallelRun Prettier and ESLint for all packages:
npx lerna run lint --parallelRun test scripts for all packages and apps:
npx lerna run test --parallelRun tests in single package:
npx lerna run --scope @allmaps/id testCreate prerelease versions:
lerna version prereleasePublish beta versions to npm:
lerna publish from-git --dist-tag betaPromoting unchanged pre-release versions:
lerna version --conventional-commits --conventional-graduate