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

app-up

v1.0.0

Published

๐Ÿš€ AppUp is a slightly opinionated NodeJS configuration/boilerplate used to quickstart NodeJS application and service development with a strong focus on good JavaScript programming practices.

Readme

๐Ÿš€ AppUp

Write high quality, maintable, ES6 and ES7 NodeJS applications right now!

๐Ÿ˜ณ Wutโ‰๏ธ

AppUp is a slightly opinionated NodeJS configuration/boilerplate used to quickstart NodeJS application and service development with a strong focus on good JavaScript programming practices.

โœจ Features

  • Strong focus on good JavaScript programming practices
  • Babel: Write ES6/ES7 JavaScript for your NodeJS applications!
  • Mocha: Because, testing! You can also write your tests in ES6/ES7
  • ESLint: Enforces good programming practices using Airbnb style guide

๐Ÿ˜Ž Install

npm i app-up --save

or

git clone https://github.com/JamesTheHacker/app-up
cd app-up
npm install

๐Ÿ™ Demo

After installation run the following command and watch the terminal:

npm run demo

This runs a demo build that beings by linting the code, then runs a couple of unit tests, followed by the build/transpilation process, and finally it launches the app. This gives you a clear view of what's going on and how things work when using AppUp.

๐Ÿ’ป Init New Project

This projects comes with the demo file by default. You probably don't want to include the demo file in your own project. Let me show you how to initialize a blank AppUp project:

Initialize a new project by running:

npm run init

This deletes all the demo files and gives you a blank canvas to start from.

Commands

The following commands are available:

  • npm run init: Initializes a blank project
  • npm run lint: Runs eslint using Airbnb's style guide
  • npm run build: Transpiles ES6/ES7 code in src/ to ES5 and stores in lib/
  • npm test: Runs unit tests
  • npm run demo: Runs the AppUp demo

Note: Both npm run build and npm test will run npm run lint

Writing ES6/ES7

As of writing NodeJS lacks many ES6/ES7 features (don't worry, the Node developers are working on it. It's just taking a while). This means we can't natively write ES6/ES7 with NodeJS. But, we can use Babel to fill the gap.

If you didn't already know Babel can be used to convert (transpile) ES6 and ES7 JavaScript to ES5. Which means you can start writing NodeJS applications using future JavaScript now! You can use ES6/ES7 to your tests. It'll work just fine ๐Ÿ˜บ

How?

All of your application code must be stored in the src/ directory. All files within this directory are transpiled from ES6/ES7 to ES5 by babel. ES5 files are stored in the lib/ directory and can be ran as normal.

To transpile code within the src/ directory run:

npm run build

๐Ÿ’ช ESLint Enforces The Law

This project enforces good programming practices. It follows the Airbnb JavaScript style guide. Running any npm command will first run eslint. If any of your code doesn't conform to the style guide your project will refuse to transpile and test.

โ‰๏ธโ‰๏ธWTFโ‰๏ธโ‰๏ธ

If this pisses you off, tough! Learn to code properly. Tough love homie ๐Ÿ’œ

Back on point ...

You can run eslint at any time by using the following command:

npm run lint

This will test all JavaScript file in the src/ and test/ directory.

If your code is not valid when compared to the style guide NodeJS eslint will scream at you. Example:

[~/Projects/app-up] npm run lint

> [email protected] lint /Users/jamesjeffery/Projects/app-up
> eslint src/ test/

/Users/jamesjeffery/Projects/app-up/src/app.js
  4:3  error  Newline required at end of file but not found  eol-last

/Users/jamesjeffery/Projects/app-up/test/app.js
  9:4  error  Newline required at end of file but not found  eol-last

โœ– 2 problems (2 errors, 0 warnings)
  2 errors, 0 warnings potentially fixable with the `--fix` option.

If you use a text editor such as VSCode you will also get nice little warnings in the UI, and on the "Problems" tab. It's super helpful.

The lib/ directory is ignored by eslint. You shouldn't be storing code in the lib/ directory.

๐Ÿ› Unit Testing

Keeping in tune with strong programming practices is the art of testing. Unit tests will help you write better, more maintainable, code.

Mocha is an awesome testing library which is why I've included it within this project. I haven't included an assertion library. I will leave that choice up to the programmer. See here for list of assertion libraries.

All tests should be placed in the test/ directory. To run tests use:

npm test

If you'd like to alter any of the command line arguments for Mocha edit the following line within package.json:

"test": "npm run lint && mocha --compilers js:babel-core/register"

Finally ...

This project is nothing special, but it certainly shaves off some precious time. I get sick and tired of creating the same old boiler plate.

Let me know what you think. Send me an email, I'd love to hear from you: jameslovescode [at] gmail [dot] com