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 🙏

© 2024 – Pkg Stats / Ryan Hefner

mini-meteor

v1.0.1

Published

Select Client-side components of MeteorJS

Downloads

13

Readme

Hypothesis: More people would try Meteor if they could evaluate its front-end behavior first, independently of its server components.

The Solution

I have released a package to Bower, and to Npm, called Mini-Meteor. This gives developers access to the Reactive capabilities of Meteor, including utilities for making reactive JS objects. It can be used as a replacement for Angular, Ember, or Backbone, though it will be most familiar to those accustomed to the Knockout library.

The Docs

See http://manual.meteor.com for a focus on the reactive components of Tracker, which are exposed under the Meteor global in Mini-Meteor. See http://docs.meteor.com for general Meteor info.

The Problem

(Isn't it just like an engineer to jump right to the solution?)

The decision to choose a JavaScript tool is a complicated one to make already. Since most tools out there assume you have a server already to speak REST to, developers don't know how to figure the Full Meteor into their comparisons. They may already have a substantial Rails investment, or can't run Mongo, and thus will not even look at Meteor to solve their front-end woes.

The Design

Following the convention of MiniMongo, MiniMeteor exposes a Meteor global. This object's main method of interest is .run- an alias for Tracker.autorun. I thought Tracker was a little too vague, and autorun sounded a bit magical (concealing that the function is run immediately, for example). So Meteor.run runs the function you pass it, sets up dependencies, and reruns the function as those dependencies require.

I included ReactiveDict (renamed to ReactiveMap), and the ES5-property based ReactiveObject, but did not yet try to include much beyond that, for lack of a modular build system. See [The Future](#The Future) below..

Initially, I created a single JS file containing Tracker and its dependencies. I included underscore, but not JQuery, and put the 30kb minified file on a CDN, in Bower and in Npm as version 1.0.0.

In this version, you have no Mini-Mongo, router, Blaze templating, or HTTP. Still, this is enough to demonstrate lightning-fast DOM data-binding that beats the pants off of other frameworks in terms of less code, and fewer concepts to understand (and no conventions to memorize). It's the MVP/POC (pick your TLA) version. But the future holds bigger plans.

The Future

  • An automated build process
  • A real module system, so it need not ship Unserscore or JQuery.
  • A builder, like for JQuery UI, to create builds optionally with Blaze, MiniMongo, or other modules, ideally related to ISObuild
  • It should include its own tests.
  • MDG could support this, (or support my doing it-that'd be fine too)

Anyway, I'd love to hear your thoughts. The few Angular fans I showed Meteor code to wondered where all the complexity was, and I explained there just wasn't any!

Let's not forget those who are stuck with other servers, or a hard Front-End/Back-End split, as we labor on to take others on this Meteoric ride that we enjoy so much.