Free email newsletter: “ News


babel-preset-env: a preset that configures Babel for you

babel-preset-env is a new preset that lets you specify an environment and automatically enables the necessary plugins.


ES proposal: Shared memory and atomics

  • Update 2017-02-24: Complete rewrite of Sect. 4, “Atomics: safely accessing shared data”.

The ECMAScript proposal “Shared memory and atomics” by Lars T. Hansen has reached stage 4 this week and will be part of ECMAScript 2017. It introduces a new constructor SharedArrayBuffer and a namespace object Atomics with helper functions. This blog post explains the details.


Making transpiled ES modules more spec-compliant

In this blog post, you’ll learn:

  • How a proposed “spec mode” for Babel makes transpiled ES modules more spec-compliant. That’s a crucial step in preparing for native ES modules.
  • How ES modules and CommonJS modules will interoperate on Node.js.
  • How far along ES module support is on browsers and Node.js.


Communicating between Web Workers via MessageChannel

Occasionally, you want Web Workers to communicate with each other. Doing so is not obvious as most Web Worker examples are about communicating between the main thread and a Web Worker. There, one uses postMessage() to send messages directly to the Worker. Alas, that doesn’t work for communicating between two Workers, because you can’t pass references to Workers around.


ES proposal: import() – dynamically importing ES modules

The ECMAScript proposal “import()” by Domenic Denicola is currently at stage 3. It enables dynamic loading of ECMAScript modules and is explained in this blog post.


A programmer evaluates the MacBook Pro (Touch Bar)

I got my new MacBook Pro this week. These are my first impressions of the machine. I’ve moved from a MacBook Air 13" to a MacBook Pro 13".

My dream notebook would have been a 13" version of the 12" MacBook. It’s a shame that Apple didn’t introduce such a machine, but I understand the decision to keep things simple. Accordingly, I changed the planning for my setup:

  • from iMac plus MacBook
  • to MBP plus LG UltraFine 5K display (as a docking station).

One benefit of this switch is that I won’t have to wait until new iMacs come out in order to have a large high-resolution display at home.


Controlling access to global variables via an ES6 proxy

The following function evalCode() traces the global variables that are accessed while evaluating a piece of JavaScript code.