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

koan

v0.0.17

Published

A Koa.js Application Boilerplate

Downloads

57

Readme

Koan.js: A Koa.js Application Boilerplate

Define Koan

Build Status Dependency Status Code Climate Coverage Status NPM version

What is Koa.js?

Koa.js is a modern Web framework designed by the team behind Express.js. While being lean and minimalistic, it has all the functionality needed in order to create robust and powerful Web-applications.

So why do we need Koan.js?

An average Web-application often contains some common components (e.g. routing, public folder, view rendering, etc.), and Koan.js provides you with a boilerplate having many of these components already in place. Also, it proposes a way to organize application features.

Is it the right way to build Web-applications with Koa.js?

It's just one of many, many possible ways. The beauty of Koa.js (or Express.js) is in its incredible flexibility giving you freedom to organize your application however you feel is right. But if you want just save your time and go with an existing solution, Koan.js definitely worth a shot.

Installation

sudo npm install -g koan

NPM

Usage

  1. koan new myapp creates a subfolder myapp in the current directory with the new application boilerplate in it.
  2. Use npm install to install dependencies.
  3. Start your application with koan start (or just usual node index.js).
  4. Run tests with npm test.

Configuration

  • Add or disable middleware your new Koan.js application requires in config/middleware.js.
  • Configure your routes in config/routes.js.
  • Configure view scripts templating in config/views.js.
  • Set other application options in config/options.js, they will be available during runtime via app.options.

Scaffolding

  • Run koan controller <controllerName> while inside the project root in order to generate a new controller.
  • Run koan model <modelName> while inside the project root in order to generate a new model.
  • Run koan resource <resourceName> while inside the project root in order to generate both controller and model (no automated RESTful routing generation is implemented at this point, so you will have to describe the routes manually).

More scaffolds to come.

Dependencies

Contributions

  • are welcome;
  • should be tested;
  • should follow Koa.js coding style.

License

The MIT License

Copyright (c) 2013-2014 Ruslan Bredikhin