2016-01

The final feature set of ECMAScript 2016 (ES7)

[2016-01-30] dev, javascript, esnext, es2016

We always knew that ECMAScript 2016 (ES2016) would be a small release. It turns out that it will be very small. Read on for a list of its features and an explanation why that is not a problem.

ES.next News: a weekly email newsletter

[2016-01-20] dev, javascript, esnext news, media

Today, Johannes Weber and I are launching a new weekly email newsletter: ES.next News.

Enumify: better enums for JavaScript

[2016-01-15] dev, javascript, esnext, technique

In this blog post, I present enumify, a library for implementing enums in JavaScript. The approach it takes is inspired by Java’s enums.

ES6 classes have inner names

[2016-01-09] dev, javascript, esnext

This blog post explains that classes have lexical inner names, just like named function expressions.

Running locally installed npm executables

[2016-01-07] dev, javascript, nodejs

One nice npm feature is that you can install packages with executables locally. This blog post explains how to run locally installed executables.

Managing the private data of ES6 classes

[2016-01-04] dev, javascript, esnext

This blog post explains four approaches for managing private data for ES6 classes:

  1. Keeping private data in the environment of a class constructor
  2. Marking private properties via a naming convention (e.g. a prefixed underscore)
  3. Keeping private data in WeakMaps
  4. Using symbols as keys for private properties

My new book: “Setting up ES6”

[2016-01-01] book, esnext

My latest book is called “Setting up ES6”. It covers the following topics:

  • A cheat sheet for deploying ECMAScript 6
  • Example setups (skeleton projects that you can download from GitHub):
    • ES6 in browsers via webpack and Babel
    • ES6 in Node.js via Babel (compiled dynamically or statically)
  • How to configure Babel 6, including a clear explanation of how it interacts with CommonJS modules

Looking back on 2015: six exciting web technologies

[2016-01-01] book, esnext

In 2015, there was an amazing amount of innovation related to the web platform. The following sections describe six technologies that I find exciting:

  • Electron
  • React Native
  • Progressive web apps
  • Visual studio code
  • Rollup
  • Web Assembly

2015-12

The future of bundling JavaScript modules

[2015-12-27] dev, javascript, esnext, jsmodules, jstools

This blog post examines how the bundling of modules is affected by two future developments: HTTP/2 and native modules.

Installing past or future versions of npm packages

[2015-12-20] dev, javascript, npm, nodejs

npm lets you install versions of packages other than the current one, via:

npm install «package-name»@«tag»
npm install «package-name»@«version»