npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@2wce/harmonia

v0.1.1

Published

Harmonia is a neutral, local-first synchronization kernel for applications that need durable local operations, dependency-aware delivery, scoped remote change consumption, explicit recovery, and visible conflict outcomes.

Readme

Harmonia

Harmonia is a neutral, local-first synchronization kernel for applications that need durable local operations, dependency-aware delivery, scoped remote change consumption, explicit recovery, and visible conflict outcomes.

It is distributed as the public scoped npm package @2wce/harmonia.

Installation

pnpm add @2wce/harmonia

The package targets modern browsers, Web Workers, Node.js, and Electron utility processes. It is ESM-only and has no runtime framework, database, transport, or product dependencies.

Coordinator lifecycle

An application adapter and transport drive a synchronization run through six steps:

  1. Select dependency-ready local operations in bounded batches.
  2. Claim those operations durably before delivery.
  3. Push the batch and apply each acknowledgement by operation identity.
  4. Pull remote changes from the scope's stored opaque cursor.
  5. Apply the complete change batch and advance its cursor atomically.
  6. Emit lifecycle outcomes for progress, retry, rejection, conflict, bootstrap, and connection state.

Cancellation leaves in-flight work inspectable. Invalid or compacted history produces an explicit bootstrap-required outcome; Harmonia never silently skips unavailable changes.

Adapter responsibilities

The product adapter owns durable storage, transactions, authentication and authorization, domain validation, domain writes, conflict resolution, and derived projections. The transport adapter owns the remote protocol, request authentication, and transport error information. Scopes, entities, payloads, versions, cursors, and conflict policy remain opaque or product-defined at the Harmonia boundary.

Explicit exclusions

Harmonia does not transfer files or EPUB bytes, refresh credentials, write to a database, rebuild search indexes, or resolve domain conflicts. It reports rejections and conflicts so the product can apply its own policy. Product adapters remain responsible for domain rules, rich conflict merging, and separate binary content flows.

Version compatibility

Harmonia follows semantic versioning. A major version is required when a release changes operation identity, outcome meaning, watermark behavior, or operation state transitions. New optional wire fields may be added in a backward-compatible minor release; consumers must ignore fields they do not understand. Protocol versions remain explicit at the wire boundary.

Releases are versioned with Changesets and published by CI when the generated release pull request is merged to main, using npm Trusted Publishing, OIDC, and provenance.