Skip to content

Repository files navigation

zemd/js

Node.js pnpm Turborepo fast-check

A monorepo of small, focused libraries for JavaScript environments — browsers, Node.js, and other modern runtimes.

Everything here is written in TypeScript and ships with type definitions, so you get autocompletion and type safety out of the box whether your own project uses TypeScript or plain JavaScript. The packages are ESM-only, tree-shakeable, and keep external dependencies to a minimum, so you only pay for what you actually import.

Each package is published independently to npm, using the @zemd and @logtown scopes where applicable — pick just the one you need.

Packages

Libraries

Package Version License Description
@zemd/color npm Apache-2.0 Typed sRGB, OKLab, and OKLCH color utilities
@zemd/std-modules npm BlueOak-1.0.0 Standalone ECMAScript modules for diverse use cases
@zemd/http-client npm Apache-2.0 A lightweight framework to build your custom fetch
@zemd/openapi npm Apache-2.0 OpenAPI TypeScript definitions and tools
@zemd/tsconfig npm MIT Shared TypeScript configs with strict defaults
logtown npm Apache-2.0 Versatile logging wrapper for JavaScript projects
@logtown/hono npm Apache-2.0 Hono middleware for logging with logtown

HTTP clients

Package Version License Description
@zemd/figma-rest-api npm Apache-2.0 Lightweight, fetch-based, type-safe Figma REST API client
@zemd/flickr-rest-api npm Apache-2.0 Flickr API client simplified

Getting started

git clone https://github.com/zemd/js.git
cd js
pnpm install

Note

The repository uses pnpm workspaces. Install it with corepack enable or follow the pnpm installation guide.

Scripts

All tasks are orchestrated by Turborepo and run across every workspace package.

Command Description
pnpm build Build all packages
pnpm test Run unit tests
pnpm test-browser Run browser-based tests
pnpm test-browser-setup Download the Chromium build used by browser tests
pnpm typecheck Type-check all packages
pnpm format Format the codebase with oxfmt
pnpm format-check Verify formatting without writing changes
pnpm lint Run type-aware linting and auto-fix with oxlint
pnpm lint-check Run type-aware linting and fail on warnings
pnpm lint-publish Validate publishable package metadata (publint)

To run a script for a single package, use the workspace filter:

pnpm --filter @zemd/http-client build

Security

To report a vulnerability, follow SECURITY.md.

Contributing

Issues and pull requests are welcome. Before opening a PR, please make sure that pnpm lint-check, pnpm format-check, pnpm typecheck, and pnpm test all pass.

License

Each package declares its own license — see the table above and the LICENSE file inside every package directory. Unless stated otherwise, packages are released under Apache-2.0 😇.

💙 💛 Donate

About

A monorepo of small, focused libraries for JavaScript environments.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages