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

marionette

v5.0.0-rc.1

Published

A JavaScript library for structured interfaces, with explicit ownership and lifecycle. Built with agent-led development in mind.

Readme

Marionette is a JavaScript library for building interfaces whose parts have clear jobs. Views render content and handle interactions. Regions give those Views a place to appear, change, and leave. Applications bring features together and coordinate the work that starts and stops with them.

Start with native DOM APIs, plain objects, and function templates. Choose other data, state, and rendering tools as your application needs them.

A place for the next change

Adding a detail panel, updating a list, or stopping a feature should have a recognizable approach:

Those same patterns give an agent a place to make a change and give you something specific to review. Marionette v5 is being developed with agent-led work in mind: consistent APIs, public types, and guidance that connects a task to the code it needs.

We're optimistic about agents. We've also read the diffs.

Trying v5

The v5 pre-release is under active development. These guides describe the current source; published prereleases can lag behind it. Registry commands below require the named version to be published. Stable v5 will ship only after the public contract, migration, application usability, packaging, browser, performance, and stabilization gates in the project roadmap pass. Comparative agent advantages require separate evidence and are not a condition of stability.

Install

npm install [email protected]

Add the mount element to the page:

<div id="app"></div>
import { View } from 'marionette';

const GreetingView = View.extend({
  el() {
    return document.querySelector('#app');
  },
  template: () => '<h1>Hello</h1>'
});

new GreetingView().render();

Marionette core has no required peer dependencies. Install optional peers only when the application uses their corresponding integration:

Applications that use Underscore directly, such as with _.template, must declare underscore as their own dependency.

See installation for package entrypoints and supported setup.

Documentation

Builds containing these documentation resources include the matching consumer guides under dist/docs/; earlier published alphas may not include them. Start at dist/docs/readme.md; its manifest records source revision and content hashes. Read the page needed for the task rather than loading the whole bundle.

The API reference is being reconciled for stable v5 in issue #147. Until that work is complete, the repository's v5 guides above are canonical; the hosted /docs/current site describes earlier releases.

Development

Found an awkward API, a missing example, or a bug that survives a convincing test suite? Bring a small reproduction. Contributions should start from a focused public issue that describes the intended behavior and its runtime cost. See CONTRIBUTING.md and the v5 roadmap.

The maintainer guide maps each change to the relevant source and validation commands.

License

Marionette is available under the MIT license.