2017-07

ES proposal: class fields

[2017-07-28] dev, javascript, esnext, es proposal, classes

The ECMAScript proposal “Class Fields” by Daniel Ehrenberg and Jeff Morrison is currently at stage 3. This blog post explains how it works.

ES2018: Promise.prototype.finally()

[2017-07-26] dev, javascript, esnext, es2018, promises

The proposal “Promise.prototype.finally” by Jordan Harband is at stage 4. This blog post explains it.

A minimal setup for Babel-based npm packages

[2017-07-24] dev, javascript, esnext, npm, jsmodules, babel

This blog post describes a minimal setup for producing npm packages via Babel. You can see that setup in action in the GitHub repository for re-template-tag.

Composing regular expressions via re-template-tag

[2017-07-22] dev, javascript, regexp, template literals

I’ve written the small library re-template-tag that provides a template tag function for composing regular expressions. This blog post explains how it works.

ES2018: s (dotAll) flag for regular expressions

[2017-07-20] dev, javascript, esnext, es2018, regexp

The proposal “s (dotAll) flag for regular expressions” by Mathias Bynens is at stage 4. This blog post explains how it works.

ES2018: RegExp Unicode property escapes

[2017-07-19] dev, javascript, esnext, es2018, regexp

The proposal “RegExp Unicode Property Escapes” by Mathias Bynens is at stage 4. This blog post explains how it works.

2017-06

Delivering untranspiled source code via npm

[2017-06-01] dev, javascript, esnext, npm, jsmodules, babel, webpack

The idea of babel-preset-env is brilliant: write JavaScript with stage 4 features (or earlier stages, if you want to take that risk) and transpile it so that it is an exact fit for your target platform(s).

However, at the moment, preset-env only works for your own app, but not for your dependencies, which are normally already transpiled.

This blog post shows how package authors and package users can use the package.json property esnext to work with untranspiled source code in npm packages. The code is available in the repository esnext-demo on GitHub.

2017-05

Node.js 8: util.promisify()

[2017-05-30] dev, javascript, nodejs, esnext, async, promises

Node.js 8 has a new utility function: util.promisify(). It converts a callback-based function to a Promise-based one.

ES2018: RegExp lookbehind assertions

[2017-05-16] dev, javascript, esnext, es2018, regexp

The proposal “RegExp Lookbehind Assertions” by Gorkem Yakin, Nozomu Katō, Daniel Ehrenberg is part of ES2018. This blog post explains it.

ES2018: RegExp named capture groups

[2017-05-15] dev, javascript, esnext, es2018, regexp

The proposal “RegExp Named Capture Groups” by Gorkem Yakin, Daniel Ehrenberg is at stage 4. This blog post explains what it has to offer.