Posts tagged "nodejs"

Simple Server-sent events example in Node.js/JavaScript

Published on
#nodejs #javascript 

With Server-sent events you are able to send one-directional events to a web page.

Here is an example of how I used this functionality in Minimal Analytics

How to test a function that works with time

Published on
#javascript #nodejs #testing 

While building Minimal Analytics I had the need to test a function that was dependent on time.

In my case, the function returned the milliseconds until midnight.

Here is a simple way to test the function msUntilMidnight.

Making Minimal Analytics

Published on
#nodejs #javascript #preact 

Web Analytics & dashboards always fascinated me.

This is my approach to a self-hosted, simple web analytics solution.

It also helped me to get back to Full stack web development, using a clean and testable approach.

Node.js 15 is here

Published on
#nodejs #javascript 

Node.js 15 has been released, with exciting changes and improvements!

Test driving a HackerNews scraper with Node.js

Published on
#tdd #nodejs #testing #cleancode #refactoring #javascript 

This is a short summary of my experience while writing a simple HackerNews scraper.

As a pure exercise or kata if you want, I tried to apply Clean code, Refactoring and Testing priciples for this small npm module.

The task is simple:

Get the posts on the front page of and parse them.

Fix npm process killed during npm install

Published on
#nodejs #outofmemory 

This happened to me recently, and I couldn't understand the cause.

"Suddenly", after updating some npm packages, my npm install was "not working".

It exited abrubtly with status code 137, with the error message "Killed".

Communicating with Bangle.js Watch over BLE with Node.js

Published on
#bangle #nodejs #iot 

This is a short summary of what I learned while playing around with my Bangle.js Watch.

I managed to

  • add an application to the Bangle.js (with create-bangle-app)
  • send accelerometer data over Bluetoot Low Energy
  • discover & connect to BLE devices with Node.js
  • read accelerometer data with Node.js (coming from the watch)

Bangle watch as an accelerometer mouse

Published on
#bangle #iot #nodejs 

Recently I got myself a treat: a Bangle.js Watch! ⌚️

It's a pretty awesome, open-source watch based on Espruino and Node.js, and much more! 🤓

Read about my experiments here especially for creating a mouse-watch app with Node.js and Bluetooth Low Energy!

Authenticated uplinks with verdaccio

Published on
#nodejs #javascript #npm #npmregistry #registry 

How to configure authenticated uplinks with Verdaccio.

Fixing 431 Request Header Fields Too Large in Node.js

Published on
#nodejs #javascript 

You're seeing a blank page saying "HTTP_ERROR 431"?

And you're running a Node.js HTTP server, like express or fastify?

Setting up a Verdaccio npm registry

Published on
#nodejs #javascript #npm #npmregistry #registry 

In case the npm registry goes down, it's wise to have a backup registry.

Optional chaining in Node.js 14 and JavaScript

Published on
#javascript #nodejs 

A long awaited feature of the language and runtime has been released and is available in Node.js 14 (and modern browsers): Optional chaining!

Nullish coalescing in Node.js 14 and JavaScript

Published on
#javascript #nodejs 

The Nullish coalescing operator in useful to handle default values, without short-circuiting on values that result as falsy.

Falsy values are undefined, null, false, 0, NaN, and '' in JavaScript, and sometimes you want to retain those values, explicitly excluding null and undefined.

devblog: yet another static site generator, seriously

devblog is yet another lightweight static site generator.

Although there are widely used SSG like 11ty (which this blog was previously based on), Jekyll (also previously used), GatsbyJS and many others, I wanted to get my hands dirty and understand how to make the process of building a static blog even simpler, if possible.

Even simpler in the sense of "it does just what I need and nothing more".

Install via npm i -g devblog or create a blog with a one-liner npx devblog init my-new-blog, cd my-new-blog and serve with npx http-server _site 8080. It's that easy.

Rebuild the blog by running npx devblog (or npm i -g devblog and then just run devblog in the main directory)

Continue reading my story of building devblog.

Crawling a web site with browserless, puppeteer and Node.js

Example repository and explanation to a practical crawling with browserless and puppeteer.

Ultimate web scraping with browserless, puppeteer and Node.js

Browser automation built for enterprises, loved by developers. is a neat service for hosted puppeteer scraping, but there is also the official Docker image for running it locally.

I was amazed when I found out about it 🤯!

Find the whole source code on Github christian-fei/browserless-example!

Twitter OAuth Login with fastify and Node.js

Published on
#nodejs #javascript #twitter #oauth #fastify 

GitHub example repo

At christian-fei/twitter-oauth-login-in-nodejs on GitHub you can find the whole source code.

Learn how to create a Twitter OAuth Application

Twitter OAuth Login by example with Node.js

Published on
#nodejs #javascript #twitter #oauth 

Lately I found myself dealing with Twitter and Google OAuth (1.0a and 2.0) to authorize a user to act on their behalf, namely reading profile information, reading and posting content on their behalf or other common permissions.

Since my process of trying to understand and make sense of OAuth has been both fun and rough, I wanted to summarize a full example in a single JavaScript file and document other findings along the way.

Twitter OAuth by example in Node.js

Published on
#javascript #nodejs 

Curious about how to call an HTTP API like Twitter or GitHub by authenticating through OAuth (1.0a and 2.0)?

Read more about how to do it with Node.js

Learn how to create Twitter login with OAuth 1.0a.

Minimal environments with dotenv and Node.js

Published on
#javascript #nodejs 

Personally I use dotenv to handle different environments in my Node.js applications.

It gives you the ability to specify a .env file (generally provisioned on each environment with the corresponding environment variables), along these lines:

Connect to MongoDB with monk in Node.js

Published on
#javascript #nodejs 

An example of connecting to mongodb with the Monk NPM module.

Recover from failed lerna publish

Published on
#javascript #nodejs 

Lately, I was having issues with lerna while trying to publish packages from a mono-repo.

The problem was that lerna, sometimes, failed while publishing the changed packages (with the command lerna publish --conventional-commits)!

The cleanest way to maintain connect / express middlewares in Node.js

Published on
#javascript #nodejs 

I want to share how I maintain my connect / express middlewares for simple HTTP APIs in Node.js

The code snippets below are taken from api source code.

Deploy Eleventy site with Github Actions on AWS S3

Published on
#javascript #nodejs 


I finally managed to get the deployment of an eleventy - 11ty site (namely this one) and sync with AWS S3, where this blog is hosted.

Publishing org scoped npm packages with travis

Published on
#javascript #nodejs 

If you stumbled upon this article, you are probably seeing the following error message on travis in the deployment stage:

pm2 deploy fast

Published on
#javascript #nodejs 

I found it. It found me...


I came across the only documentation about cloning a git repo with the [--depth option](

Easy rate limit with Promise.all and p-limit

Published on
#javascript #nodejs 

Rate limiting API calls to an HTTP service doesn't have to cumbersome and too complicated.

A simple way to achieve this (and that I use all the time) is to combine Promise.all with an npm package called p-limit.

p-limit is used to run multiple promise-returning & async functions with limited concurrency.

A story about npm publish / unpublish

Published on
#javascript #nodejs 

Today I sat down and wrote a tiny package called wait-for-user-input. it can be used to wait for stdin input in a command line script.

Functional JavaScript: Write your own negate/not function

Published on
#javascript #nodejs #javascript 

Let's say you want to filter odd numbers from a list of numbers, like [1,2,3,4,5,6] should become [1,3,5].

One way to solve this problem in a functional fashion is to provide an odd filter function, that is internally composed by a negation of an even filter on those numbers.

Don't miss out on special content for my subscribers.

View the past editions of my newsletter