4.0.0 • Published 5 years ago

@ava/babel-preset-stage-4 v4.0.0

Weekly downloads
94,544
License
MIT
Repository
github
Last release
5 years ago

@ava/babel-preset-stage-4 Build Status

Babel preset for use with AVA

Aspires to bring finished ECMAScript proposals to AVA's test and helper files.

Efficiently applies the minimum of transforms to run the latest JavaScript syntax on Node.js 8, 10 and 12.

Built-ins are not added or extended, so features like Proxies, Array.prototype.includes or String.prototype.padStart will only be available if the Node.js version running the tests supports it. Consult node.green for details.

Sometimes a particular feature is mostly implemented in Node.js. In that case transforms are not applied.

Not all proposals can be supported via Babel transforms, see below for details. Babel may require "syntax" plugins in order to parse certain files. These plugins should be applied explicitly since this preset may not include them.

Install

$ npm install --save @ava/babel-preset-stage-4

Usage

Add @ava/stage-4 to your Babel presets.

Options

For more information on setting options for a preset, refer to the preset options documentation.

modules

By default this preset transform ES2015 modules to CommonJS. Set to false to disable this behavior. Other values are ignored.

Supported proposals

ProposalSupported
Array.prototype.includesNo
Object.values/Object.entriesNo
String paddingNo
Object.getOwnPropertyDescriptorsNo
Trailing commas in function parameter lists and callsYes
Shared memory and atomicsNo
Lifting template literal restrictionNo
s (dotAll) flag for regular expressionsYes
RegExp named capture groupsNo
RegExp Lookbehind AssertionsNo
RegExp Unicode Property EscapesNo
Promise.prototype.finallyNo
Asynchronous IterationPartially
Optional catch bindingYes
JSON supersetNo
Symbol.prototype.descriptionNo
Function.prototype.toString revisionNo
Object.fromEntriesNo
Well-formed JSON.stringifyNo
String.prototype.{trimStart,trimEnd}No
Array.prototype.{flat,flatMap}No
String.prototype.matchAllNo
import()Yes
Promise.allSettledNo

@babel/plugin-proposal-async-generator-functions relies on Symbol.asyncIterator, which AVA does not polyfill for you.