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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@converse/skeletor

v3.0.0

Published

Models and Collections for modern web apps

Readme

Skeletor

XMPP Chat CI Tests

Skeletor is a modernization of Backbone's Models and Collections, which are used for managing state.

Installation

npm install @converse/skeletor

Changes from Backbone

We've made big, backwards incompatible changes in version 1.0.0:

  • Removed the old View
  • Removed the old Events constructor function and instead added the EventsEmitter mixin class.
  • Removed the Router and History classes.
  • All other types (e.g. Model, Collection) are now ES6 classes.

Sekeletor adds the following changes to Backbone

  • Rewritten in TypeScript
  • Removes the dependency on jQuery
  • Replaces underscore with lodash
  • Imports lodash methods individually to allow for tree-shaking
  • Uses the native browser API instead of lodash whereever possible
  • Drops support for older browsers (including IE) and uses ES6+ language features
  • Splits models and collections into separate modules
  • Adds the possibility to returns promises for asynchronous operations

Other backwards incompatible changes

  • Collection.prototype.forEach no longer returns the items being iterated over. If you need that, use map instead.
  • The chain, clone and escape methods on Models have been removed.
  • The clone method has also been removed from Collections
  • The inject, foldl and foldr methods on Collections has been removed. You can use reduce instead.
  • Removed the sample, take, tail and initial method on Collections.
  • Removed the without, reject and select methods on Collections, use filter.
  • Removed the .extend() method on Model and Collection.
  • Models and Collections should be defined via class .. extends syntax.

Changes due to using Lodash instead of Underscore

  1. Use drop instead of rest.
  2. indexBy is called keyBy
  3. Use invokeMap for collections instead of invoke.
  4. Use includes instead of contains
  5. The partition and invokeMap methods have been removed.