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

woot

v0.1.1

Published

Quickly create new projects based on custom templates

Downloads

2

Readme

Woot! — Instant project creation

Create a template once, use everywhere:

$ woot npm-package foo-bar

You will now be prompted for the following values:

  --description VALUE

You can also provide them on the command line if you want.

description: Amazing new package

Argument values:
  name (underscored) = foo_bar
  name (dashed) = foo-bar
  name (camelCase) = fooBar
  name (CamelCase) = FooBar
  description (human readable) = Amazing new package
  github_user (raw) = andreyvit


Is this correct (yes/no) [yes]:

 create    /private/tmp/wutest/foo-bar
 add       .npmignore
 add       .gitignore
 add       package.json
 add       README.md
 add       lib/index.coffee
 add       lib/index.js
 add       test/foo_bar_test.coffee
 add       test/foo_bar_test.js
 run       git init
 run       npm install

Finished.

The second argument defaults to the current folder. Woot never overwrites files, so if you run it again, it will only add the missing ones.

Any subfolder under ~/.woot is a template. In the future, I might add an option to distribute templates as npm modules (woot-something).

Variables like __something__ are substituted in file names and data. __name__ is set to the folder name, other values come from ~/.woot.json, command-line arguments or interactive answers.

You can save variables to ~/.woot.json using --save:

woot --github-user andreyvit --save

Add woot.json to your template to run some custom commands as the last step:

{
    "after": [
        "git init",
        "npm install"
    ]
}

Variable substitution details

Variables are automatically transformed by example. If you provide CoolModel as a value for model_name, the following substitutions will be made:

__model_name_raw__   CoolModel   # untransformed input
__model_name__       cool_model
__ModelName__        CoolModel
__modelName__        coolModel
__model-name__       cool-model

You can append woot to any name, which is both cool and helps to provide examples for single-word names:

__name__             foo_bar
__name_woot__        foo_bar
__name-woot__        foo-bar
__NameWoot__         FooBar
__nameWoot__         fooBar
__name woot__        foo bar
__Name Woot__        Foo Bar

Note that the last two ones (with spaces) are only available via woot (to avoid runaway name lookups). The corresponding substitutions for model_name variable will be:

__model_name woot__  cool model
__Model_Name Woot__  Cool Model

Woot!

Installation

npm install woot

License

© 2012, Andrey Tarantsov, distributed under the MIT license.

Make woot, not wat!