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

resock

v1.0.0

Published

A simple mock rest server

Downloads

1

Readme

Res™ock (Res-ock)

Permets la création simple et rapide d'un serveur de mock qui met en place un API REST via le protocole HTTP (par défaut sur le port 8000, il est possible de le changer en le passant en paramètre).

Utilisation

# Lancer l'application sur le port 8000
npm start
node main.js

# Changer le port
node main.js -p 8080
node main.js --port 8080

# Afficher plus d'informations
npm run dev
node main.js -v
node main.js --verbose

Il est possible de voir toutes les commandes avec l'argument -h ou --help.

Création d'un point d'entré

Pour créer un point d'entré il suffit de créer un fichier json dans la méthode HTTP voulu (ou dans ANY pour n'importe quel méthode).

Pour créer une URL il suffit de faire une arboresence de dossier, ainsi ./user/detail/list/all.json correspond à l'URL http://localhost:port/user/detail/list/all. Il est aussi possible de la faire avec un fichier unique nommé user.detail.list.all.json. Il est possible de combiner les deux par exemple ./user/detail/list.all.json.

Il est aussi possible d'utiliser des parametre soit dans le corp de la requete via un json, soit via l'url en indiquant dans le nom du fichier où sont les paramètres. Par exemple user.detail.param-id correspond à l'URL http://localhost:port/user/detail/{id} où id est un parametre. En écrivant user.detail.param-id-optional permet d'indiquer q'id est un parametre optionnel. Pour récupèrer les données dans le json il suffit d'utiliser l'annotation ${var}. Dans le cas de notre exemple on utilise ${id} pour récupèrer l'id.

Il est possible de modifier les points d'entrée sans redémarrer le serveur.

Encapsulation réponse

Il est possible d'encapsuler toutes les réponses dans un json pré-définit. Pour cela il suffit de créer un fichier wrapper.json à la racine qui contient le json pour l'encapsulation. Ce json reçoit un parametre nommé data qui contient le json de la requete (il suffit de mettre ${data} pour recupérer les données). Voici un exemple de json pour l'encapsulation :

{
    "success": true,
    "data": ${data}
}