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-wormhole

v1.0.0

Published

A responsive boilerplate for multi-pages webapps and websites

Readme

WORMHOLE

A yeoman generator for scaffolding responsive multipages webapps and websites.

SIMPLE USAGE

npm install -g generator-wormhole

yo wormhole

FOLDERS TREE

project
    \css
	\imgs
	\js
		\controllers
			pageOne.js
			pageTwo.js
		\libs
			angular.js
			jquery.js
			analytics.js
		\plugins
			jquery.tooltip.js
			textResize.js
			formValidation.js
		\views
			pageOne.js
			pageTwo.js
	\scss
		\framework
			_core.scss
			_forms.scss
			_input.scss
			_mixins.scss
			_variables.scss
		\layouts
			_all.scss
			_phablets.scss
			_tablets.scss
			_desktop.scss
			_desktop-large.scss
			_retina.scss

			\pageOne
				_all.scss
				_phablets.scss
				_tablets.scss
				_desktop.scss
				_desktop-large.scss
				_retina.scss

			\pageTwo
				_all.scss
				_phablets.scss
				_tablets.scss
				_desktop.scss
				_desktop-large.scss
				_retina.scss
		\libs
			_animate.scss
			_normalize.scss
			_reset.scss
		\plugins
			_jquery.tooltip.scss
			_jquery.fancyInput.scss

FOLDERS EXPLANATION

imgs

Put here all images files: .png , .jpg , .jpeg , wallpapers etc.

  EXAMPLE

  • icon.png
  • home-background.jpeg
  • userAvatar.jpg

js

This folder contains all .js files, organized in subfolders as following:

\ controllers

Put here all angular controllers, each one with the same name of the corresponding view. For example if your home.html needs an angular controller, create a file like this: project\js\controllers\home.js.

EXAMPLE

  • home.js
  • user-registration.js
  • user-login.js

\ libs

Put here all javascript libraries.

EXAMPLE

  • jquery-latest.js
  • angular.js
  • googleAnalytics.js

\ plugins

Put here all javascript and jquery plugins.

EXAMPLE

  • jquery.fancyInput.js
  • jquery.tooltips.js
  • animate.js
  • customHomePagePlugin.js

\ views

Put here all presentational stuff. Each file must have the same name of the corresponding view. For example if your home.html needs some effects, stuff, and plugins initializazion create a file like this: project\js\views\home.js, that has is own document ready.

EXAMPLE

  • home-animations.js
  • user-registration.js
  • user-login.js
  • site-animations.js

css

Contains all generated css files from main scss files. For example home.scss will generate the corresponding home.css file in this folder.

scss

\ libs

Put here all css libraries.

EXAMPLE

  • _normalize.scss
  • _reset.scss
  • _animate.scss

\ plugins

Put here all css necessary to make javascript libraries work.

EXAMPLE

  • _jquery.fancyInput.scss
  • ```_jquery.tooltips.scss````

\ framework

In this directory, will be scss files shared across all project pages.

THE FOLDER IS ORGANIZED AS FOLLOWING

  • _variables.scss (project variables declaration — colors, spacings, etc.)
  • _mixins.scss (project mixin declaration — typography, clearfix, animations, etc.)
  • _forms.scss (custom form styling & reset)
  • _input.scss (custom input styling & reset)

\ layouts

Files in this directory are organized in that way to cover all screens resolutions, following a mobile first principle. So, you should start declaring your own styles using _all.scss file. Rules declared in this file are valid for all screen sizes and all views. If you want your website to be adaptable, than just rewrite rules declared for any other screen resolution.

THE FOLDER IS ORGANIZED AS FOLLOWING

  • phablets (481up) _phablets.scss
  • tablets and small laptops (768up) _tablets.scss
  • desktops (1030up) _desktop.scss
  • desktops with large screens (1204up) _desktop-large.scss
  • retina displays exceptions (@2x) _retina.scss

These files will handle layout exceptions and are called by mediaqueries.

  Please note: those files are shared across all views (html pages). That's why you need to create a new folder under scss\layouts to give specific style to a specific page.

EXAMPLE - you want to style a responsive home page and a responsive user-login page

  1. Create under scss\layouts a new folder naming it with the same name of the views you want make adaptive (ex. home and userLogin) so: scss\layouts\home and scss\layouts\userLogin
  2. Put into these folders the same files listed up above: _all.scss , _phablets.scss , _tablets.scss , _desktops.scss , _desktop-large.scss and _retina.scss.
  3. The final result will be as follow
project
	\scss
		\framework
		\layouts
			_all.scss
			_phablets.scss
			_tablets.scss
			_desktop.scss
			_desktop-large.scss
			_retina.scss

			\home
				_all.scss
				_phablets.scss
				_tablets.scss
				_desktop.scss
				_desktop-large.scss
				_retina.scss

			\userLogin
				_all.scss
				_phablets.scss
				_tablets.scss
				_desktop.scss
				_desktop-large.scss
				_retina.scss
		\libs
		\plugins

SEE IT IN ACTION

Just install it by command line and explore __example folder.