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

fullstack-cli

v1.2.4

Published

Fullstack CLI to create and manage new full stack projects.

Readme

Fullstack-CLI

semantic-release Commitizen friendly Greenkeeper badge Build Status codecov Codacy Badge

Introduction

This is a tool for Fullstack Developers, to create the full stack for a web application. This stack contains:

  • Front: Generator that creates a web application based on React that uses:
  • Back: Generator that creates a backend based in Node.js that uses:
  • GraphiQL: Generator that creates a web application to manage our backend based on GraphQL.
  • Catalog: Generator that creates a development environment to create a React component catalog.

Installation

To install the tool:

npm install -g fullstack-cli

And to create a new project:

fullstack-cli

And follow the instructions on the screen.

Technology

Fullstack-CLI uses a simple form structure that asks the user to configure the project throw a bunch of steps using inquirer.js.

Frontend

We are using WebPack as a development environment, and NPM scripts to automatize the process.

After introducing the project name, the options that offer the creation wizard are:

  • Websockets: If you need WebSockets, install them selecting this option. This creates an connection using socket-io-client in the index.jsx file and listen to connections from the WebSockets in the backend.

  • Material-UI: If you want to add a CSS framework to your project, I have chosen Material-UI. It is a great framework based on Google's Material Design and has a lot of great tools and components. Of course, you can omit this step and add your own styles or preferred framework (Semantic UI React is another great framework to work with).

  • Redux: Here you can decide to install Redux in your application. Redux is an amazing tool that keeps your application state. It's hard to understand the data flow inside a modern web application without this kind of tools nowadays.

  • Routes: If you are going to make something complex with more that one page, this is your module. It uses react-router to create a simple structure of a few routes behind a login. Be careful because we are using the fourth version, and it breaks totally from previous ones.

After this steps, we ask for basic information to create the package.json of the application.

Then, the packages are installed, and a few instructions appear to let you know how to start developing your new platform.

Not choosing any packages during the creation process, creates the simplest React application you can have, just to start building from scratch.

Backend

The backend wizard starts more or less in the same way. It asks for the project's name.

After that, it follows this steps:

  • Databases: First of all, the wizard asks you which databases needs your back to connect to, in order to install the basic connector structure for each one. Right now, we offer connections for MongoDB (that also add a GraphQL layer if needed), MySQL and PostgreSQL. You can install all of them if needed.

  • Websockets: If you are going to use WebSockets, this option installs and configures a WebSocket endpoint using Socket.io. It just listens for connections and ads a listener for isAlive message for testing purpose.

  • GraphQL: If you have selected MongoDB as the database, you can also configure an endpoint for GraphQL, and amazing database concept created by Facebook. The main idea is to allow the client to ask for the data needed instead of having thematic endpoints. This allows us to filter the info in the server, and send smaller packages with only the needed data.

Then, the packages are installed, and a few instructions appear to let you know how to start developing your new platform.

The chosen framework for the back is Hapi (using Good as logger tool, in this case, only through the console).

The tool for the API description is Swagger (using hapi-swagger).

The security is based in JWT (using hapi-auth-bearer-token).

The project is based on plain Node.js (no transpilers), so we are still using CommonJS import method using require instead of import.

To configure each database connection, there are configuration files inside the config folder. The API will try to connect to your databases, so if you don't configure the connection properly, it will throw an error.

Catalog

The catalog creates an application based in Styleguidist. This tool allows us to develop components isolated from our main application.

Useful Links

Semantic Release