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

restwell

v0.4.1

Published

A personal, basic, unopinionated express.js rest api resource generator

Downloads

35

Readme

restwell

A personal & basic express.js & mongoose REST API resource generator (routes, handlers, mongoose schema skeleton, integration tests)

Because it uses async functions, the generated code will only work for node.js version >= 8

Build Status npm David JavaScript Style Guide

Quick start

  • install restwell
    npm install <-g> <--save-dev> restwell

  • generate a REST API resource
    restwell generate resource
    Then answer to the questions :).

It will generate the following files:

|resources
  |
  |-util
    |
    |-find-object.js // A simple function to the a doc by its id
    |-safe-async.js // Wrapper to catch error for async/await middleware
    |-paginate.js // Pagination middlewre
  | <name>
    |
    |-model.js // Juste a simple mongoose skeleton (use the --no-model option to not generate this file. Please note that the handlers & everything will integrate the mongoose API anyway.)
    |-routes.js // All the resource's routes (get, post, put patch, delete)
    |-handlers.js // All the ressource's route handlers (express route middlewares):
    |-index.js // Entry point for your resource (basically, it exports the routes file)
  |-test
    |-<name>.handlers.test.js // API enpoints integration test skeleton

if you have installed restwell locally (which is a good idea!), you may want to add an new line to the scripts part in the package.json file.

"scripts": {
  "restwell": "restwell"
}

Then you will be able to run the restwell script like this:
npm run restwell generate resource

Available options

     -h, --help         Display help                                      
     -V, --version      Display version                                   
     --no-color         Disable colors                                    
     --quiet            Quiet mode - only displays warn and error messages
     -v, --verbose      Verbose mode - will also output debug messages

Test

run npm run test

Contribution

As this package is really new, all PR, issues and feedbacks are more than welcome!

Credits

  • the expressjs generator, which was a great source of inspiration to see how to start.
  • Handlebars.js, build semantic templates effectively with no frustration.
  • Caporal.js, a full-featured framework for building command line applications (cli) with node.js.
  • Inquirer.js, A collection of common interactive command line user interfaces.