Promise.try()
The proposal “Promise.try()
” by Jordan Harband is currently at stage 1. This blog post explains how it works.
In Promise-based code, there are usually many callbacks, each one having a separate scope for variables. What if you want to share data between those callbacks? This blog post describes techniques for doing so.
The ECMAScript proposal “Class Fields” by Daniel Ehrenberg and Jeff Morrison is currently at stage 3. This blog post explains how it works.
Promise.prototype.finally()
The proposal “Promise.prototype.finally
” by Jordan Harband is at stage 4. This blog post explains it.
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
.
re-template-tag
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.
s
(dotAll
) flag for regular expressionsThe proposal “s
(dotAll
) flag for regular expressions” by Mathias Bynens is at stage 4. This blog post explains how it works.
The proposal “RegExp Unicode Property Escapes” by Mathias Bynens is at stage 4. This blog post explains how it works.
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.
util.promisify()
Node.js 8 has a new utility function: util.promisify()
. It converts a callback-based function to a Promise-based one.