Code Monkey home page Code Monkey logo

Allmaps

Allmaps

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.

πŸ‘‰ For more information about the Allmaps project, see allmaps.org.

Allmaps Viewer

Contents

Allmaps is an open source project and consists of multiple apps and packages, all written in TypeScript and contained by this monorepo.

Apps:

Packages:

To see how these apps and packages are related, check out the dependency graph.

Installation

Make sure you have Node.js (version 20.8 or higher) and pnpm installed.

You can install pnpm with Corepack:

corepack enable
corepack prepare pnpm@latest --activate

Then, clone this repository locally:

git clone https://github.com/allmaps/allmaps.git
cd allmaps

Install dependencies and create symlinks:

pnpm install -r

Finally, build all packages to ensure all JavaScript exports are created from TypeScript files, and initialize SvelteKit apps:

pnpm run init

Running a single app locally

To run the dev script for a single app, you need to run the watch scripts of all packages in one terminal window:

pnpm run watch

And then run the dev script of the app in another:

pnpm --filter "@allmaps/viewer" run dev

You can also run the dev script from the app's directory instead:

cd apps/viewer
pnpm run dev

Running all packages and apps locally

To run the watch and dev scripts for all packages and apps, run the following in one terminal window:

pnpm run watch

And this in another:

pnpm run dev

Troubleshooting

If things don't work, it might help to reinitialize the SvelteKit apps:

pnpm run check

Or, reinstall dependencies and create the monorepo's symlinks:

pnpm install -r

As a last resort, you can try to remove some (or all) node_modules directories using npkill:

pnpm dlx npkill

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:

pnpm run types

Run Prettier and ESLint for all packages:

pnpm run lint

Run tests

Run tests for all packages and apps:

pnpm run test

Run tests for a single package:

pnpm --filter "@allmaps/transform" test

You can run the tests from the package's directory instead:

cd packages/transform
pnpm 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

Allmaps's Projects

Allmaps doesn’t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.