Joel Watson

Joel.Watson92@gmail.com | LinkedIn: /in/joel3rbear | Twitter: @Joel3rBear


Project maintained by JoelMWatson Hosted on GitHub Pages — Theme by mattgraham

Home » Familiar NPM Packages


Familiar NPM Packages

Authentication & Validation

JSON Web Token

Allows you to create and handle json web tokens for authenticating users.

Validator

A library of string validators and sanitizers.


CSS

AutoPrefixer

AutoPrefixer is a post-css plugin to parse CSS and add vendor prefixes to CSS rules using values from Can I Use.

Node SASS

Node-sass is a library that provides binding for Node.js to LibSass allowing you to natively compile .scss files to css at incredible speed and automatically via a connect middleware.

PostCSS Cli

PostCSS Cli is a command line tool that allows you to write CSS pre-processors or post-processors.


Databases

MongoDB

The official package for working with MongoDB in Node.

Mongoose

Mongoose is an Object Document Mapper for working with MongoDB.

Pg

Pg is a pure JavaScript PostgreSQL client for Node.

Sequelize

Sequelize is an Object Relational Mapper for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.


Developer Tools

Dotenv

Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env.

Eslint

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/ JavaScript code.

Nodemon

Nodemon watches and automatically restarts the node application when file changes in the directory are detected.

Concat

Concatenate multiple files. (use combine css or js into one file)

NPM Run All

A CLI tool to run multiple npm-scripts in parallel or sequential.


Documentation

Express Swagger Generator

Used to automatically generate swagger style documentation for your local RESTful web services

JSDoc

An API documentation generator for JavaScript.


Encryption & Encoding

Base64 JS

Base64-js does basic base64 encoding/decoding in pure JS.

Bcrypt/Bcryptjs

Bcrypt is a c++ library to help you hash passwords (faster). Bcryptjs is optimized in JavaScript with zero dependencies.


Express

Express

Express is a minimal and flexible Node web application framework providing many features for to simplify the server side web and mobile application developement.

Express Session

Express session is middleware to enable you to create sessions on your express server.


HTTP

Axios

Axios is an easy to use HTTP client for the browser and Node.

Morgan

HTTP request logger middleware for node.js

Request

Request is another really simple to use HTTP client. As of Feb 11th 2020, request is fully deprecated. (Though still gets 19+ million weekly downloads)


Miscellaneous

Bad Words

Bad-words is a simple package that filters out badwords.

CORS

Cors provides a Connect/Express middleware that can be used to enable CORS with various options.

Lodash

A modern JavaScript utility library delivering modularity, performance & extras imported in node modules.

Moment

A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.

Multer

Multer is a node middleware for handling multipart/form-data, which is primarily used for uploading files. It is written on top of busboy for maximum efficiency.

Sharp

Sharp is a package used to convert large images in common formats to smaller, web-friendly JPEG, PNG and WebP images of varying dimensions.


Prototyping/Temporary

Faker

Faker is a simple dummy data generator for use both in the browser and with Node.

JSON Server

Get a full fake REST API without writing any code.


React & Redux

React

React is a JavaScript library for creating front-end UI. The react package only contains the functionality to define React components and is typically used with a React renderer like react-dom or react-native.

Renderers: React Dom & React Native

This package serves as the entry point to the DOM and server renderers for React. React Native brings React’s declarative UI framework to iOS and Android.

Redux & React Redux

Redux is a predictable state container for JavaScript apps and react-redux is the official React bindings for Redux.

Forms: Redux Form & React Final Form

Use Redux Form if you need really tight coupling of your form data with Redux, specifically if you need to subscribe to/modify it from parts of your application on another route. Otherwise React Final Form is recommended.

Redux Thunk

Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met.


TCP/IP & Sockets

Socket.io

Socket.io is an amazingly useful package that enables real-time bidirectional event-based communication over TCP/IP using sockets. It also allows for better control over event handling and the ability to add an HTTP layer to hold open your client connections.


Templating languages

EJS

Embeded JavaScript Templating.

Handlebars

Handlebars is an extension to the Mustache templating language.


Terminal/Comand Line

Chalk

Chalk is a highly performant and easy to use terminal styling package. It allows you to customize the styling of your terminal messages.

Yargs

Yargs simplifies building command line tools by nicely parsing the incoming arguments and generating an elegant user interface.


Testing

Debug

A tiny JavaScript debugging utility modelled after Node’s debugging technique. Works in Node.js and web browsers.

Jest

Jest is a super easy to use javascript testing framework that works with zero configurations on almost all Javascript projects.

MongoDB Memory Server

MongoDB Memory Server downloads mongod binary to the cache and spins up a new database instance in memory for testing.

Superagent

Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features.

Supertest

Supertest provides a high-level abstraction for testing HTTP, while still allowing you to drop down to the lower-level API provided by superagent.