The public integration surface for Dynjandi, an image CDN: an OpenAPI
description of its public-key API (upload, and reading a stored file) and a TypeScript SDK,
@dynjandi/sdk.
Status: early. @dynjandi/sdk is published to npm (npm i @dynjandi/sdk).
The OpenAPI spec for that API is written
(packages/spec). The SDK can upload files and read a stored
file back (both server-side), and build image variant URLs, including responsive srcset, <picture>
source and placeholder helpers.
| Path | What |
|---|---|
packages/spec |
The OpenAPI spec for the API (not published to npm; served from this repository) |
packages/sdk |
@dynjandi/sdk, a TypeScript client built on fetch, FormData and Blob |
npm i @dynjandi/sdkOnce it is on npm, that is the install command; usage is in packages/sdk/README.md.
The spec is at
https://raw.githubusercontent.com/dynjandi-dev/dynjandi/main/packages/spec/openapi.yaml
(how it is versioned).
Requires Node 22 or newer and pnpm (the version is pinned in package.json).
pnpm install --frozen-lockfile
pnpm lint
pnpm format:check
pnpm typecheck
pnpm build
pnpm check:package
pnpm test
pnpm check:generatedpnpm format rewrites files to the Biome style. The commands CI and the review gate run are listed in
context/verify.md. A live smoke test against the real CDN runs separately and needs
a test project's key; see packages/sdk/README.md. A push to main that bumps
packages/sdk/package.json's version publishes it; context/release.md says how.