Skip to content

allmaps/allmaps

 
 

Repository files navigation

@allmaps/allmaps

Allmaps is a project for curating, georeferencing and exploring for IIIF maps!

👉 allmaps.org

Observable Notebooks

More documentation coming soon!

Contents

This is a mono repo with the following apps and packages:

Apps:

Packages:

Installation

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

Running packages and apps locally

All apps and packages

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

One app or package

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

Troubleshooting

If things don't work, it might help to run:

npx lerna run check --parallel

or

npx lerna link

Commit changes

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 formatting and types

Check TypeScript types for all packages:

npx lerna run types --parallel

Run Prettier and ESLint for all packages:

npx lerna run lint --parallel

Run tests

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

Versioning & publishing

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