As a beginner, it's hard to get to a point where you are confident enough in your programming abilities.
The Node.js Event Loop: Not So Single Threaded - Bryan Hughes, Microsoft
generate massive amounts of realistic fake data in Node.js and the browser
In this blog post you will learn what event loop lag is, how it affects performance and why you should include this metric in your performance monitoring dashboards (if you haven’t already). Event loo...
Shows how you can make your backend ExpressJS REST API cleaner by using custom error handling middleware. Code snippets of before and after refactoring are presented to make the point
Should you read this guide?
If you're writing anything more complicated than a brief command-line script, reading this should help you write higher-performance, more-secure applications.
What makes NodeJS distinguished from any other programming platforms is how it handles I/O. We hear this all the time when NodeJS is introduced by someone saying “A non-blocking, event-driven platform...
📆published on: 2017-04-22
- tags: nodejs
This is a follow-up to my last post, [What is the difference between Controllers and Services in Node REST API’s?](https://www.coreycleary.me/what-is-the-difference-between-controllers-and-services-in...
Express' error handling middleware is a powerful tool for consolidating your HTTP error response logic. Odds are, if you've written Express code yo...
Arguably the biggest new feature in Node.js 7.6.0 is that the much awaited async function keyword is now available without a flag. Callback hell and promise hell are now in the past. But, like Uncle B...
Node.js 6.6.0 added a sporadically useful bug/feature: logging unhandled promise rejections to the console by default. In other words, the below script will print an error to the console: ...
OpenID Certified™ Relying Party (RP, Client) implementation for Node.js. Wide feature coverage including optional specifications and passport strategy is included. - panva/node-openid-client
Underneath every breakout website or app is a horizontally scaling back-end, but how do we get from a single process Node.js server to a highly-available, auto-scaling system? In this talk, we’ll take...
generate massive amounts of realistic fake data in Node.js and the browser - Marak/faker.js
UI Kits, Templates and Dashboards built on top of Bootstrap, Vue.js, React, Angular, Node.js and Laravel.
Graceful shutdown When you deploy a new version of your application, you must replace the previous version. The process manager you’re using will first send a SIGTERM signal to the application to...
get colors in your node.js console. Contribute to Marak/colors.js development by creating an account on GitHub.
- tags: nodejs
Abstracts readiness/ liveness checks and graceful shutdown of Node.js services running in Kubernetes. - gajus/lightship
Graceful shutdown and Kubernetes readiness / liveness checks for any Node.js HTTP applications - godaddy/terminus
Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.
This document contains to an API reference, samples, and ot...
Those of you upgrading npm to its latest version, email@example.com, might notice that it installs a new binary alongside the usual
npx is a tool intended to help round out the experience of us...
Philosophically, Koa aims to "fix and replace node", whereas Express "augments node". Koa uses promises and async functions to rid apps of callback hell and simplify error handling. It exposes its...
In this video we talk about Bob Martin's Clean Architecture model and I will show you how we can apply it to a Microservice built in node.js with MongoDB and...
Table of Contents
- Environment Variables
- Global npm dependencies
- Upgrading/downgrading Yarn
- Handling Kernel Signals
- Non-root User
- Docker Run
- Security node-gyp in alpi...
- tags: docker, nodejs
- source code
Sample node app for Docker examples
My talk on all the best of Docker for Node.js developers and DevOps dealing with Node apps. From DockerCon 2019.
server.close the way you expected it to work. - hunterloftis/stoppable
The goal of this example is to show you how to get a Node.js application into a Docker container. The guide is intended for development, and not for a production deployment. The guide also assumes you...
I have delivered several Docker trainings during the last few weeks and some questions come back quite often. For example:
*Q: When developing my application, how can I get my changes to be taken int...
Before you begin to run your Node.js application in a Docker container, or even build the app into a container, you have to answer an important question and make a key decision:
**Which base Node.js ...
This is the first of a series of posts trying to demonstrate real (simple) examples of deploying multi distributed applications across multiple platform and environments.
The purpose of this post is ...
Google Cloud Platform makes development easy using Node.js
FaaS (Function as a service) framework for writing portable Node.js functions - GoogleCloudPlatform/functions-framework-nodejs
node-postgres is a collection of node.js modules for interfacing with your PostgreSQL database. It has support for callbacks, promises, async/await, connection pooling, prepared statements, cursor...
connect/express middleware that validates a JsonWebToken (JWT) and set the req.user with the attributes - auth0/express-jwt
Introduction to React and its components and routers. Tutorial of how to build a simple Q&A React app - secure backend API with Node.js and Express.
📆published on: 2018-08-28
- tags: reactjs, react-router, nodejs, expressjs, axios, authentication, security
- source code
Framework specifically meant for REST API.
Node.js Web framework embedding a command to generate automatically a REST API.
Express service exposing Mongoose finders as RESTful API.
Build scalable REST API based on your Mongoose entities.
Powerful Node.js framework for creating APIs and easily connecting to backend data sources.
is a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins.
Express middleware for creating APIs from JSON schemas with a simple admin editor and permissions model.
Generate RESTful API based on mongoose models that supports relational data.
Generate CRUD controllers and services for RESTful API with NestJS and TypeORM.
In this tutorial you’ll learn how to setup a GraphQL server with Node.js and Express. We’ll be using the Express middleware
express-graphql in our example. Furthermore you’ll learn how to use GraphQ...
reactive CMS, real-time architecture and design
simple, powerful publishing platform
CMS with content editing and essential services
framework for real time apps, sites or blogs
CMS platform with social features.
fast and minimalist CMS based on Node.js.
CMS for CoffeeScript lovers
CMS with WSYWYG editor
CMS and blogging platform
Streaming torrent client for Node.js and the browser.
Streaming torrent client.
Real-time replication and versioning for data sets.
Distributed file system that seeks to connect all computing devices with the same system of files.
Open software ecosystem for WebGL, built on top of browserify and npm.
All of Wikipedia on BitTorrent.
Stream a torrent video to Chromecast.
Clean, readable, proven Bitcoin library.
Pure and powerful Bitcoin library.
PDF generation library.
Modular geospatial processing and analysis engine.
p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.
The first operating system powered by npm.
AI operating system.
Graph theory (a.k.a. network) modeling and analysis.
Kademlia distributed hash table.
Temporary P2P screenshot sharing from your browser.
High performance distributed data processing engine.
Pure JS Excel spreadsheet reader and writer.
Check whether a package name is available on npm.
Open the npm page of a package.
Safer alternative to
Test your internet connection speed and ping.
Find relevant emoji from text on the command-line.
Capture website screenshots.
More better top, with nice charts.
Empty the trash.
Check whether a website is up or down.
Check if the internet connection is up.
Get your public IP address.
Copy & paste on the terminal.
Get the current local time of a GitHub user.
Tells you when your package npm dependencies are out of date.
Simple, zero-config command-line HTTP server.
Development HTTP-server with livereload capability.
Pipe command output to web browsers.
Google Translate with speech synthesis in your terminal.
Fabulously kill processes. Cross-platform.
Check licenses of your app's dependencies.
Easily run code in a browser environment.
Adds stdin support to any CLI app that accepts file input.
Get the current wifi password.
Change the desktop wallpaper.
Change the screen brightness.
Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
Catch insensitive, inconsiderate writing.
Live Markdown preview in the browser from your favorite editor.
Subtitle downloader for movies and TV series.
Toggle the macOS Dark Mode.
IP location finder.
Pretty prints JSON with configurable colors and indentation.
Interactively control iTunes.
Mobile app icon generator.
Mobile app splash screen generator.
Pretty git diff to HTML generator.
Try out npm packages in the terminal.
Copy/paste detector for source code.
Server-side API mocking.
Auto installs dependencies as you code.
Markdown in the terminal.
Find out which dependencies are slowing you down.
Expose your localhost to the world.
Share terminal sessions via SVG.
System monitoring dashboard for the terminal.
Generate themes for your editor, terminal, wallpaper, Slack, and more.
Beautiful images of your code — from right inside your terminal.
Convert between 170 currencies.
Tasks, boards & notes for the command-line habitat.
Easily deploy static websites to Amazon S3.
Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
Immutable data collections.
Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
Functional reactive programming.
Functional reactive library for transforming, composing, and querying various kinds of data.
Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases.
Reactive library with focus on high performance and low memory usage.
Nicer interface to the built-in
Convenience wrapper for
got to interact with the GitHub API.
Promise based HTTP client (works in the browser too).
HTTP Client Utilities.
Download and extract files effortlessly.
HTTP request library.
window.fetch for Node.js.
Wrap native HTTP requests with RFC compliant cache support.
GraphQL request library built on got.
Improved debugging experience, enabled by Chrome DevTools.
Node.js debugger supporting ES2015 out of the box.
Debugger based on Blink Developer Tools.
Tiny debugging utility.
Node.js is running but you don't know why?
Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.
Instrumentable streams mix-ins to inspect a pipeline of streams.
Enhance an error stacktrace with code excerpts and other goodies.
Starts a REPL at runtime that has access to all variables.
Well-formatted and improved trace system calls and signals.
Write memory leak tests.
Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process.
Extremely fast logger inspired by Bunyan.
The most simple logger imaginable with support for log levels and custom prefixes.
End-to-end, hierarchical, real-time, colorful logs and stories.
Terminal string styling done right.
CLI app helper.
Command-line parser that automatically generates an elegant user-interface.
Elegant terminal spinner.
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
React for interactive command-line apps.
Terminal task list.
Simple config handling for your app or module.
ANSI escape codes for manipulating the terminal.
Colored symbols for various log levels.
Unicode symbols with Windows CMD fallbacks.
Create boxes in the terminal.
Create clickable links in the terminal.
Display images in the terminal.
Get the visual width of a string - the number of columns required to display it.
Truncate a string to a specific width in the terminal.
Check if it's the first time the process is run.
Interactive command-line prompt.
Parse yes/no like values.
Pretty unicode tables.
Draw on the terminal with unicode braille characters.
Update notifications for your CLI app.
ASCII bar chart in the terminal.
Flexible ascii progress bar.
Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
Toggle the CLI cursor.
Create text-based columns suitable for console output. Supports cell wrapping.
Columnated unicode and ansi-safe text lists.
Sexy ASCII fonts for the console.
Multiple, simultaneous, individually controllable CLI spinners.
Shell autocompletion helper.
Set environment variables cross-platform.
Portable Unix shell commands.
Block users from running your app with root permissions.
Make unhandled promise rejections fail loudly instead of the default silent fail.
Beautiful color gradients in terminal output.
CLI framework complete with parser, automatic documentation, testing, and plugins.
Reliably get the terminal window size.
Framework for interactive CLIs.
Blazing fast, zero config web app bundler.
Packs modules and assets for the browser.
Next-generation ES2015 module bundler.
Streaming and fast build system that favors code over config.
Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.
Functional task runner with shareable presets.
Promising task runner for when
npm run isn't enough and everything else is too much.
Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.
Package your Node.js project into an executable.
Firmata based Arduino Framework.
Access serial ports for reading and writing.
I2C serial bus access.
GPIO access and interrupt detection.
SPI serial bus access.
Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.
NMEA parser for handling GPS receivers.
HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.
Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).
Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.
Simple unopinionated templating language.
High-performance template engine heavily influenced by Haml.
Framework for building applications and services.
Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
Microservice framework built in the spirit of Express.
Powerful framework for creating REST APIs and easily connecting to backend data sources.
Enables you to build correct REST web services.
Framework with ES2015+ support, WebSockets, REST API.
Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.
Easily build production-ready universal apps with MongoDB, Express, React, and webpack.
Minimalistic framework for server-rendered Vue.js apps.
Toolkit for writing microservices.
A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.
Write reliable and fault-tolerant microservices with NATS.
Minimalistic microservice framework with an async approach.
Fast & powerful microservices framework.
Fast and low overhead web framework.
Angular-inspired framework for building efficient and scalable server-side apps.
Minimal building block for reliable and fault-tolerant microservices.
Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators.
API documentation generator with support for ES2015+ and flow annotation.
Documentation generator targeting ES2015, attaching test code and measuring documentation coverage.
Documentation generator which produces an HTML document that displays your comments intermingled with your code.
API documentation generator similar to JavaDoc or PHPDoc.
Delete files/folders using globs.
Glob files with support for multiple patterns.
Recursively delete files like
Recursively create directories like
Drop-in replacement for the
fs module with various improvements.
Filesystem watcher which stabilizes events from
fs.watchFile as well as using native
fsevents on macOS.
Find a file by walking up parent directories.
Inter-process and inter-machine lockfile utility.
Read and parse a JSON file.
Stringify and write JSON to a file atomically.
fs.createWriteStream(), but atomic.
Convert a string to a valid filename.
Force create symlinks like
Check if a file is text or binary.
Completely redesigned file system API for convenience in everyday use.
Find the root directory of an npm package.
Flexible and fluent interface for searching the file system.
Move a file, even works across devices.
Promise library with focus on innovative features and performance.
Promisify a callback-style function.
Delay a promise a specified amount of time.
Memoize promise-returning functions, with expire and prefetch.
Limit the execution rate of a promise-returning function.
Map over promises concurrently.
Promise packages, patterns, chat, and tutorials. Contribute to sindresorhus/promise-fun development by creating an account on GitHub.
Implementation of Observables.
Awesome Observable related stuff - An Observable is a collection that arrives over time. - sindresorhus/awesome-observables
Async concurrent iterator like forEach.
Provides straight-forward, powerful functions for working with asynchronicity.
Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.
Convenience wrapper for ReadableStream, inspired by
Get a stream as a string or buffer.
Convert a buffer/string/array/object into a stream.
Turn a writeable and readable stream into a single streams2 duplex stream.
Combine an array of streams into a single duplex stream.
Transform stream that lets you peek the first line before deciding how to parse it.
Newline (or any delimiter) splitter stream.
Super-simple line-by-line Stream reader.
Transform the first chunk in a stream.
Pad each line in a stream.
Combine multiple streams into a single stream.
Turn a pipeline into a single stream.
Mirror of Streams2 and Streams3 implementations in core.
Transform object streams concurrently.
Highly scalable WebSocket server & client library.
Enables real-time bidirectional event-based communication.
Real-time client-server message bus, based on Bayeux protocol.
Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
An abstraction layer for real-time frameworks to prevent module lock-in.
Scalable real-time microservice framework.
Low-level socket router and middleware framework.
Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.
JSON-RPC 2.0 implementation over WebSockets.
Barebone MQTT server that can run on any stream server.
The fastest module for resizing JPEG, PNG, WebP and TIFF images.
Detect the image type of a Buffer/Uint8Array.
GraphicsMagick and ImageMagick wrapper.
Lightweight image processor which does not require ImageMagick.
High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.
Get the size of most image formats without a full download.
Convert character encodings.
Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
Escape RegExp special characters.
Find multiple RegExp matches in a string.
Remove or replace part of a string like
Indent each line in a string.
Strip leading whitespace from every line in a string.
Detect the indentation of code.
HTML entity encoder/decoder.
Simple translation module with dynamic JSON storage.
i18n with very easy syntax for plurals.
Simple wildcard matching.
Normalize visually similar unicode characters.
Generate a random integer.
Generate a random float.
Generate random numbers that are consecutively unique.
Round a number to a specific number of decimal places:
An extensive math library.
Clamp a number.
Core to create fast image math in WebAssembly and JS.
Library for working with dates and times.
Modern date utility.
Parse, validate, manipulate, and display dates.
Format a date with timezone:
Fast parsing, formatting, and timezone conversation for dates.
Normalize a URL.
Humanize a URL: http://sindresorhus.com → sindresorhus.com.
Expand shortened URLs.
Generate a slug from a string with transliteration.
Link patterns detector with full unicode support.
Easier than regex string matching patterns for URLs and other strings.
Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.
JSON Schema validator that uses code generation to be extremely fast.
Easy property validation for Express.
JSON API sanitization and validation.
The fastest JSON Schema validator. Supports v5 proposals.
Markdown processor powered by plugins.
Markdown parser with 100% CommonMark support, extensions and syntax plugins.
Fast full-featured spec compliant HTML parser.
Strip comments from JSON.
Strip comments from CSS.
Parse JSON with more helpful errors.
CSS parser / stringifier.
Streaming JSON.parse and stringify.
Fast CSV parser. Callback interface for the above.
Streaming CSV parser that aims to be faster than everyone else.
Simple parser generator that produces fast parsers with excellent error reporting.
Web scraping utility.
Extract a value from a buffer of JSON without parsing the whole thing.
Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
Very fast YAML parser.
Parse, format, store and validate phone numbers.
Read/write structured binary data in Buffers.
Read/write Excel XLSX.
Validate and parse XML.
Convert bytes to a human readable string:
Convert milliseconds to a human readable string:
15d 11h 23m 20s.
Tiny millisecond conversion utility.
Errors with less clutter.
Extract readable content from any page.
Streaming interface for archive generation, supporting ZIP and TAR.
High speed zlib port to pure js (deflate, inflate, gzip).
Streaming tar parser and generator. Also see tar-fs.
Decompression module with support for
zip files out of the box.
Get an available port.
Get your public IP address.
Get the computer MAC address.
DHCP client and server.
Netcat port in pure JS.
Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.
ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
PostgreSQL data access tool.
Elegant MongoDB object modeling.
Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.
PostgreSQL framework for native SQL using promises.
Lightweight ORM built on the SQL query builder Knex.
ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more.
Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.
Simple key-value storage with support for multiple backends.
RESTful endpoint generator for your Sequelize models.
Wrapper for multiple databases with a JDBC-like connection.
Futuristic test runner.
Feature-rich test framework making asynchronous testing simple and fun.
Code coverage tool built on istanbul that works with subprocesses.
TAP test framework.
Provides descriptive assertion messages through the standard assert interface.
TDD with Browserify, Mocha, PhantomJS and WebDriver.
Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.
Run load tests for your web application, with an API for automation.
Test spies, stubs and mocks.
PhantomJS / SlimerJS wrapper to simplify browser test scripting.
HTTP mocking and expectations.
Code testing stack.
Hackable HTTP proxy to simulate failure scenarios and network conditions.
Hook and modify stdout/stderr.
Run tests for multiple versions of Node.js locally with NVM.
Automated UI testing framework based on Selenium WebDriver.
Automated testing based on the WebDriver protocol.
Automated browser testing.
Continuous Integration server.
CLI and build-time tool to find & fix vulnerable npm dependencies.
Unified API for all password hashing algorithms.
GitHub app that provides security feedback in pull requests.
Benchmarking library that supports high-resolution timers and returns statistically significant results.
Simplistic approach to benchmarking.
ES2015+ aware minifier based on the Babel toolchain.
Simple, unobtrusive authentication.
OAuth middleware for Express, Koa, and Hapi.
Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …).
Isomorphic authorization for UI and API.
Authorization library that supports access control models like ACL, RBAC and ABAC.
The fastest way to handle email.
Send text/HTML emails with attachments to any SMTP server.
Create, preview, and send custom email templates.
Redis-backed priority job queue.
Persistent job and message queue.
MongoDB-backed job scheduling.
Redis-backed job queue engine with advanced job control.
Redis-backed job queue.
Redis-backed message queue.
High-performance Redis-backed job queue.
Node.js version management.
Virtual Environments for Node.js.
Node.js virtual environment compatible to Python's virtualenv.
Version management for Windows.
An extensible natural language system.
Detect the language of text.
Measure the difference between two strings using the Levenshtein distance algorithm.
Natural language facility.
Advanced Process Manager.
Monitor for changes in your app and automatically restart the server.
Run scripts as a native Mac daemon and log to the console app.
Run scripts as native system service and log to syslog.
Run scripts as a native Windows service and log to the Event viewer.
Restart scripts when they crash or restart when a
*.js file changes.
Friendly process manager that integrates directly into Nginx.
Desktop Automation: control the mouse, keyboard and read the screen.
Flexible, minimalistic, multi-platform static site generator.
Static site generator for Node.js, Grunt.js, and Yeoman.
Static site generator with dynamic abilities and huge plugin ecosystem.
Modern static website generator based on the React and Webpack ecosystem.
Markdown documentation site generator with no statically built HTML files.
CMS and web application platform built on Express and MongoDB.
Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.
Content Management Framework (headless-CMS) to build powerful APIs.
Developer-first content management system with GraphQL and REST API from a schema file.
Forum platform for the modern web.
Simple, powerful publishing platform.
Fast, simple and powerful blogging framework.
Get superb like words.
Get popular cat names.
Get popular dog names.
Get superhero names.
Get supervillain names.
Get some cool ascii faces.
₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^･o･^)ﾉ”.
Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
Native bindings for Google's Snappy compression library.
Implementation of Protocol Buffers.
Implementation of the Compactr protocol.
Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
Build cross platform desktop apps with web technologies. (You might like awesome-electron)
Opens stuff like websites, files, executables.
Hashing made simple. Get the hash of a buffer/string/stream/file.
Get a property from a nested object using a dot path.
Only run a function once.
Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
Import a module while bypassing the cache.
Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
Get the system locale.
SSH2 client and server module.
SSH tunneling made simple.
Import a module lazily.
Detect the file type of a Buffer.
Rate limiter that makes throttling easy.
Function argument validation for humans.
Lightweight Web Worker API implementation with native threads.
Access the system clipboard (copy/paste).
Makes it easy to publish and install Node.js C++ addons from binaries.
Bindings for OpenCV. The defacto computer vision library.
Get tags from a remote git repo.
Semantic version parser.
Generate massive amounts of fake data.
Native bindings to Git.
Safely serialize a value to JSON without data loss or going into an infinite loop.
Resolve the path of a module like
require.resolve() but from a given path.
Event driven web crawler.
Type check values.
Get, set, or delete nested properties of process.env using a dot path.
Simple and modern async event emitter.
Learn Node.js with interactive lessons.
An introduction to Node.js.
How to write Node.js programs with streams.
Some good practices when writing new npm modules.
An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read.
Practical guide on how to write portable/cross-platform Node.js code.
Superb package search with deep analysis of package quality using a myriad of metrics.
Your daily injection of npm packages.
Compare and discover npm packages.
Node.js error handling practices
- tags: nodejs
I’m not sure anyone needs convincing that Node.js is freaking awesome, little has been said otherwise. Many of the people reading this blog are already …
- tags: nodejs
Node prides itself for having a minimal core. Where some languages ship bindings for the full POSIX API, Node tries to ship the minimum amount of bindings required to provide full functionality and…
- tags: nodejs
Semver: A Primer
- tags: nodejs
Semver: Tilde and Caret
- tags: nodejs
Why Asynchronous? - NodeSource
- tags: nodejs
Understanding the Node.js Event Loop
- tags: nodejs
Understanding Object Streams
- tags: nodejs
Learn the art of writing quality READMEs.
Weekly e-mail round-up of Node.js news and articles.
Weekly dose of hand picked node modules.
Series of talks, including TCP & HTTP API servers, async programming, and more.
Node.js in Practice [Alex R. Young, Marc Harter] on Amazon.com. FREE shipping on qualifying offers.
Practical Node.js: Building Real-World Scalable Web Apps is your step-by-step guide to learning how to build a wide range of Node.js web applications using a professional development toolkit
Secure Your Node.js Web Application: Keep Attackers Out and Users Happy [Karl Duuna] on Amazon.com. FREE shipping on qualifying offers. Cyber-criminals have your web applications in their crosshairs...
Video course by Wes Bos.
Build lightweight, real-time applications with Node.js.
Answering common questions about streams, covering pagination, events, and more.
Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
Chrome extension to display npm dependencies at the bottom of a repo's readme.
Embed a Node.js environment on any website.
Chrome extension that displays npm download stats on GitHub.
- tags: nodejs
Boilerplate to kickstart creating a node module.
Scaffold out a node module.
Tips, tricks, and resources for working with Node.js on Microsoft platforms.
Resources and tips for using npm.
Headless Chrome Node API
Promise based HTTP client for the browser and node.js - axios/axios
This video is showing how to deploy Keycloak on Kubernetes as well as deploying and securing a HTML5 frontend application and a Node.js backend service and securing these with Keycloak. Video realised...
This article walks you through how you can develop an application locally using Kubernetes
If you have a number of applications and services, the applications may be HTML5, server-side, or mobile, while the services may be monolithic or microservices, deployed on-premise, or to the cloud. Y...
Example Docker Compose app. A simple distributed application running across multiple Docker containers.
Nodemailer is a module for Node.js to send emails
Connect is a middleware layer for Node.js.
Blazing fast and Comprehensive CSV Parser for Node.JS / Browser / Command Line. - Keyang/node-csvtojson
Deploy Node.js projects to AWS Lambda and API Gateway easily.
Fast and low overhead web framework, for Node.js
Loads environment variables from .env for nodejs projects.
Example showing migration of Mongoose calls from previously using callbacks to using the new async-await feature in NodeJs
Building Microservices with Node, Docker and Nginx
- Part 1 What is a Microservice?" I walk you through what a Microservice is and what this 3 part tutorial will show you.
- Part 2 [Making a micro...
📆published on: 2017-12-29
- tags: nodejs, microservices, docker, docker-compose, nginx
- source code
Manage multiple NodeJS versions.
This post walks you through creating and using environment variables, leading to a Node.js app you can run anywhere.
We explore how to use Winston, a versatile logging library for Node.js, including colorizing console output, logging timestamp entries, and rotating logs.
Awesome Node.js Security resources. Contribute to lirantal/awesome-nodejs-security development by creating an account on GitHub.
Node.js 10 was released on April 24, 2018. This version provides experimental support for asynchronously iterating over readable streams. This blog post explains how that works.
AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts - cujojs/meld
A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale. restify optimizes for introspection and perfromance, and is used in ...
Constants enumerating the HTTP status codes. All status codes defined in RFC1945 (HTTP/1.0, RFC2616 (HTTP/1.1), and RFC2518 (WebDAV) are supported. - prettymuchbryce/node-http-status
mongoose-unique-validator is a plugin which adds pre-save validation for unique fields within a Mongoose schema.
This makes error handling much easier, since you will get a Mongoose validation error ...
The official Node.js docker image, made with love by the node community.
Docker has become an extremely popular tool not only among DevOps and Infrastructure people, but also for the daily work of any developer. Simple with examples for beginners.
Traditionally, a tug of war has existed between service reliability (availability, consistency, and fault tolerance), and engineering velocity. Increasing speed to fuel product innovation has meant ma...
LoopBack makes it easy to build modern API applications that require complex integrations.
Have you ever run into a scenario where you wanted to update your UI as soon as there is some change to your Mongo database ? For example, A new user gets added and you wanted that change to reflect…
In this article, I will describe how to take an existing Web Application that is build using MongoDB, ExpressJS, Node.js, and React (often called as MERN stack) on a deployment service like Heroku
A simply step by step Keycloak, MySQL and Node.js integration tutorial / example. There are some docker examples as well. - v-ladynev/keycloak-nodejs-example
Cache module for Node.JS.
Cron for NodeJS. Contribute to kelektiv/node-cron development by creating an account on GitHub.
Run serverless applications and REST APIs using your existing Node.js application framework, on top of AWS Lambda and Amazon API Gateway
Twitter API Client for node (REST & Streaming API)
A simple in-memory cache for node.js
Transactions are undoubtedly the most important new feature in MongoDB 4.0. MongoDB has supported ACID for single document operations for many years, and denormalized data meant many apps didn't need ...
RESTful API generator using NodeJS, Express and Mongoose
Speaking Intelligently about "Java vs Node" Performance - Please understand what's really important when it comes to the benefits of a platform.
In this article we’ll explore using AWS Lambda to develop a service using Node.js. Amazon recently announced an upgrade where developers using Lambda can now use an 8.10 runtime, which lets them use `...
Hackable and configurable to the core, signale can be used for logging purposes, status reporting, as well as for handling the output rendering process of other node modules and applications.
Previous NodeJS Release Versions; history, archive, version
- tags: nodejs
Simple, unobtrusive authentication for Node.js
Look under the Kubernetes hood to learn more about how K8s automates orchestration of Node.js application containers.
Articles about the Node.js Community, How-tos, and Products from NodeSource - The Node.js Company
Web push requires that push messages triggered from a backend be done via the Web Push Protocol and if you want to send data with your push m...
Using service workers, you can send push notifications to Chrome straight from your Node.js app. The excellent
web-push [npm mo...
Achieve high performance with node.js applications with these 5 tips from NGINX, including how to use a reverse proxy server, load balancer, and caching.
I will be taking you through the variety of resource bottlenecks you can expect to run into, like network, memory, disk and cpu. I’ll touch upon how to find these bottlenecks and what technologies you...
Moleculer is a fast, scalable and powerful microservices framework for Node.js.
vasco - The Great Service Discoverer
Realtime application framework (Node.JS server)
In this tutorial we are going to build a simple chat app based on WebSockets with socket.io and React.
Learn to make web apps with Node.js with our free 20-page zine
- tags: nodejs
A Manageable, Measurable and Traceable Node.js Application Manager represented by Alibaba powered by TypeScript
Though not interactive, I've found that console-probe is an improvement over console.log, providing me highlighted property types, lengths, and a nice visual tree view.
Mark Brown shows how to use Node.js and Express to process form data and handle file uploads, covering validation and security security issues.
- tags: nodejs
In the past years, Kubernetes emerged as the go-to container scheduling and management platform. As I’d like to understand better what’s happening under the hood, I decided that I’ll learn the Go lang...
Knex.js is a "batteries included" SQL query builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift designed to be flexible, portable, and fun to use. It features both tradit...
Objection.js is an ORM for Node.js that aims to stay out of your way and make it as easy as possible to use the full power of SQL and the underlying database engine while keeping magic to a minimum.
This guide will help you get started debugging your Node.js apps and scripts.
You haven't created a connection for Mongoose to use by default. Replace this: ...
The official MongoDB Node.js driver provides both callback-based and Promise-based interaction with MongoDB, allowing applications to take full advantage of the new features in ES6.
This video covers writing a RESTful JSON API using Node, Express, MongoDB, Mongoose, and TypeScript. My other Node...
Helmet helps you secure your Express.js apps by setting various HTTP headers. It's not a silver bullet, but it can help!
The Visual Studio Code editor includes Node.js debugging support. Set breakpoints, step-in, inspect variables and more.
typegoose - Typegoose - Define Mongoose models using TypeScript classes.
nodejs hangs when installing some packages
Moste voted solution:
Try to remove 'package-lock.json' file from directory where 'package.json' locate.
- tags: nodejs
Retry, parallel request, mongodb cursor etc.
- tags: nodejs
We learn how to play audio in Node.js using the play-sound npm module. We also learn how to play a sound until our notification has been acknowledged.
This article helps you to understand how the Node.js event loop works, and how you can leverage it to build fast applications.
📆published on: 2016-12-25
- tags: nodejs
libuv, a platform abstraction library with focus on asynchronous i/o.
A querystring parser that supports nesting and arrays, with a depth limit
Uses ExpressJS to demonstrate how to configure NodeJS debugging in WebStorm
redhat-sso-quickstarts - Quickstarts for the Red Hat Single Sign-On (SSO) Server The quickstarts demonstrate securing applications with RH-SSO. They provide small, specific, working examples that can ...
nodebestpractices - The largest Node.JS best practices list. Curated from the top ranked articles and always updated
Today, almost every application has to be connected and to share data with other applications. The best way to do that is through APIs. For a long time there hasn’t been any industry standard for…
Adds middleware to your express app to serve the Swagger UI bound to your Swagger document. This acts as living documentation for your API hosted from within your ap
Node.js body parsing middleware
The fundamental performance characteristics of Node.js, along with the improvements driven through the community benchmarking workgroup, makes Node.js ideal for highly performing micro-service workloa...
mocha.opts configuration to get mocha and instanbul running with typescript
Thanks to @mohsen1's post the following is the minimum recommended configuration to get accurate TypeScript coverage with mocha. With this…
In this article, we'll show you the differences between spies, stubs and mocks, when and how to use them, and give you a set of best practices to help you avoid common pitfalls.
Sinon–Chai provides a set of custom assertions for using the Sinon.JS spy, stub, and mocking framework with the Chai assertion library. You get all the benefits of Chai with all the powerful tools of ...
Extends Chai with assertions about promises.
You can write code that expresses what you really mean:
assert module provides a simple set of assertion tests that can be used to test invariants.
supertest - Super-agent driven library for testing node.js HTTP servers using a fluent API
A Brief History of Streams - Jessica Quynh Tran From spew streams to suck streams, Streams are a little understood corner of Node.js that are utilized in alm...
Software engineer, architect, conference speaker, focused on Node.js and its ecosystem. Loves a good cup of coffee.
A look at where we are with Node.js security, and what you can do to keep your customer's data safe
Sometimes you want to test your application in environment closer to the real world. In such cases you might need to run it over TLS. Here are two simple steps, which can be used to achieve this resul...
Husband, father, & Catholic enjoying life with my family. Working @ Microsoft. Disney fanatic, web and mobile developer
Trade Secrets Of A Developer / Entrepreneur
A stream is an abstract interface for working with streaming data in Node.js. The
stream module provides a base API that makes it easy to build objects that implement the stream interface.
Much of the Node.js core API is built around an idiomatic asynchronous event-driven architecture in which certain kinds of objects (called "emitters") periodically emit named events that cause Functio...
Testing is an important practice in software development to improve software quality. There are many forms of testing; manual testing, acceptance testing, unit testing, and a few others. In this post ...
nock - HTTP mocking and expectations library
fs module gives you a great cross-platform toolkit for working with filesystems. With a few third-party modules it becomes everything you need
📆published on: 2013-03-08
- tags: nodejs
Learn what is unit testing in Node.js, and how to test your applications properly. This article is the 9th part of the Node Hero tutorial series.
Video and text explaining how Npm Versioning works...
Video with text showing how to create a simple NodeJs module, export it and use it in another project.
rotating-file-stream - Opens a stream.Writable to a file rotated by interval and/or size. A logrotate alternative.
The aim of this article is to provide help with Node.js logging. Learn how to use the console module, the debug module, the winston library and Trace.
A Step-by-Step Guide for learning how