# @iiif/manifold

> [![Build Status](https://github.com/IIIF-Commons/manifold/actions/workflows/build-test.yml/badge.svg?branch=main)](https://github.com/IIIF-Commons/manifold/actions/workflows/build-test.yml)

Latest version **2.3.0** (published 2026-04-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install @iiif/manifold
pnpm add @iiif/manifold
yarn add @iiif/manifold
bun add @iiif/manifold
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.3.0 |
| Published | 2026-04-23 |
| First published | 2018-01-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 4.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | @edsilv |
| Maintainers | sdellis, edsilv-admin, mejackreed, stephenwf, adamjarling, demiankatz, glen.robson |

## Links

- npm: https://www.npmjs.com/package/@iiif/manifold
- Repository: https://github.com/iiif-commons/manifold
- Homepage: https://github.com/iiif-commons/manifold#readme
- Issues: https://github.com/iiif-commons/manifold/issues
- npm.io page: https://npm.io/package/@iiif/manifold

## Dependencies (3)

- [manifesto.js](https://npm.io/package/manifesto.js.md) ^4.3.3
- [@iiif/vocabulary](https://npm.io/package/@iiif/vocabulary.md) ^1.0.30
- [@edsilv/http-status-codes](https://npm.io/package/@edsilv/http-status-codes.md) ^1.0.3

## Recent versions

- 2.3.0 (latest) — 2026-04-23
- 2.0.0-pre.13 (webpack) — 2019-03-09
- 2.2.0 — 2025-12-10
- 2.1.9 — 2025-11-10
- 2.1.8 — 2025-10-27
- 2.1.7 — 2025-10-23
- 2.1.6 — 2025-10-23
- 2.1.5 — 2025-10-17
- 2.1.4 — 2025-09-10
- 2.1.3 — 2025-08-01
- 2.1.2 — 2025-07-14
- 2.1.1 — 2024-12-05
- 2.1.0 — 2024-10-29
- 2.0.31 — 2023-03-13
- 2.0.23 — 2022-11-16
- … 73 more at https://npm.io/package/@iiif/manifold/versions

## README

# manifold

[![Build Status](https://github.com/IIIF-Commons/manifold/actions/workflows/build-test.yml/badge.svg?branch=main)](https://github.com/IIIF-Commons/manifold/actions/workflows/build-test.yml)

    npm install @iiif/manifold --save

Stateful utils on top of manifesto. Returns a `helper` object that can be used to navigate a IIIF manifest.

e.g.

- `getMetadata`: returns all metadata for current image, range, canvas, sequence, manifest)
- `getCurrentRange`, `getPreviousRange`, `getNextRange`: Used to navigate a flattened range tree (useful for IIIF AV scenarios)
- `getTree`: Returns a default tree (sortable by `navDate`) of collections, manifests, ranges, or a tree based on a given top range.

Has an ajax implementation of manifesto's `IExternalResource` (used in the IIIF auth flow).

## Getting Started

### Documentation

https://iiif-commons.github.io/manifold/

### Developer Setup

    git clone https://github.com/iiif-commons/manifold.git
    npm install
    npm run build

### Testing the build
The build can be run and tested in the browser console by running

    npm start

and navigating to examples/index.html.

### Publishing Package

    git checkout main
    npm version patch
    npm run docs
    git add .
    git commit -m "Release v1.2.3"
    git tag v1.2.3
    git push origin main v1.2.3

---
_Source: https://npm.io/package/@iiif/manifold · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
