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 - docs.allmaps.org
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/leaflet
- @allmaps/maplibre
- @allmaps/openlayers
- @allmaps/render
- @allmaps/schemas
- @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