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

generator-maido2

v0.4.0

Published

A Yeoman generator for Maido projects

Readme

Maido Yeoman Generator

This generator will create a project from scratch using Yeoman, Node, Bower and Grunt. It will create a project by defining configuration options through the wizard.

Running this generator will provide a back-end php framework skeleton if desired, front-end folder structure and dependency management setup, development and build processes, and other common project configuration files.

Installation

It requires Node / NPM - Get Node JS

npm install -g yo

npm install -g generator-maido

Update

To update yo and generator-maido:

npm update -g yo

npm update -g generator-maido

Instructions

mkdir project-name && cd project-name
yo maido

Editing this generator and templates

The main script file for this module is in /app/index.js. It extends Yeoman's Base module and contains all options, prompts and lists of tasks. See Yeoman's documentation

Additionally, all template files that this generator will use to create a project can be found in /app/templates

Wizard Options

Project name? Defaults to the humanised version of the current working directory

PHP framework? Zend Framework 2, Laravel, None

PHP framework branch, tag or commit? Defaults to master, but it can point to any valid Git id

Use MaidoJs common files? Defaults to true. If enabled, this option will also use Backbone-Requirejs.

Use Backbone-Requirejs folder structure? Defaults to true

Use Jam? Defaults to true

Scaffold javascript pages/routes (comma-separated list)? Accepts a comma-separated list of valid values (e.g. home, game, terms-conditions), if empty defaults to demo

Include Vagrant configuration? Defaults to true

Use database? Defaults to true

Database name? Defaults to the underscored version of the current working directory name (e.g. 'test project' will become 'test_project')

Minimum IE version support? IE 8, IE 9

See below for more details about each option.


Generated content

PHP Framework (optional)

Option: ZF2 Skeleton

It will clone the zf2 skeleton application and copy its full contents to the project's root except for composer.phar, LICENSE.txt, public/css, public/fonts, public/img, public/js, module/Application/language

  • @todo Update module.config.php

  • @todo Update Application/src/Module.php with db session configuration

Option: Laravel

It will clone the Laravel repository and copy its full contents to the project's root directory.

  • @todo Create config files (staging, local, production)


Javascript

Backbone-Require.js files and structure (optional)

The generator will create a basic folder structure in /public/assets/js

  • /src/main.js
  • /src/app/app.js
  • /src/app/router/router.js
  • /src/app/view/main.js
  • /src/app/model
  • /dist

It will also (conditionally, based on options provided) add and install dependencies with Bower and re-configure main.js by adding paths to these components in the paths key.

MaidoJs (common javascript require.js modules) (optional)

The generator will clone Maido Js from Bitbucket using bower and copy all .js files to public/assets/js/src/lib keeping the folder structure.

Some modules included:

  • Backbone plugins (TreeView, Load)
  • Tracking (Analytics, pixel)
  • Facebook (user, photos, share)
  • Instagram (photos)
  • Asynchronous image upload

And more...

Javascript pages/routes scaffolding (optional)

For each valid value passed in the wizard's Page scaffolding option (as comma-separated values) it will create a view script in /src/app/view/page, configure the route in /src/app/router/router.js and it as a dependency in /src/app/view/main.js

Modernizr

It will obtain Modernizr as a Bower dependency and copy modernizr.js to /public/assets/js/src/, which will later be optimised when building and output to /public/assets/js/dist/


Jam CSS Framework (optional)

The generator will get Jam as a Bower dependency and copy all files to /public, excluding .editorconfig, .gitignore, LICENSE.md, bower.json, readme.md, _.htaccess

Jam is mantained by Nathan Reed


Other configuration files

  • /.gitignore
  • /.editorconfig

Vagrant (optional)

  • Vagrantfile
  • ./vagrant
  • @todo configuration

Grunt tasks (Gruntfile)

It requires running npm install first in other dev enviornments, to fetch node dependencies first.

These tasks will be registered by default in ./Gruntfile:

default

  • It runs compass:dev and watch (optional, when using Jam)

To run:

grunt

build

It:

  • Compresses css compass:dist (optional, when using Jam)

  • Optimises images with imagemin (optional, when using Jam)

  • Optimises modernizr by code analysis using grunt-modernizr

  • Concatenates and uglifies javascripts using grunt-requirejs reading the optimiser's configuration from /public/assets/js/src/main.js (optional, when using MaidoJs or Backbone-Requirejs)

To run:

grunt build

info

It lists all the available tasks

To run:

grunt info

bower-requirejs

  • It runs grunt-bower-requirejs and re-configures main.js paths to point to bower components.

This task will be automatically called from .bowerrc post-install script, after a new component gets installed using Bower.

In short it will automatically run after doing:

bower install $component$