Allmaps is a project for curating, georeferencing and exploring for IIIF maps!
More documentation coming soon!
This is a mono repo with the following apps and packages:
Apps:
- Allmaps Viewer
- Allmaps Tile Server
- Allmaps Explore
- Allmaps Info
- Allmaps IIIF Viewer
- Allmaps CLI
- Allmaps Here
- Allmaps Latest
Packages:
- @allmaps/annotation
- @allmaps/id
- @allmaps/iiif-parser
- @allmaps/transform
- @allmaps/triangulate
- @allmaps/render
- @allmaps/openlayers
- @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