Package Exports
- acorn-stage3
- acorn-stage3/inject
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (acorn-stage3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
stage 3 proposal support for Acorn
This is a plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.
It implements support for current ECMAScript stage 3 proposals. Neither loose mode nor walk are currently supported.
- Asynchronous Iterators for JavaScript (ESTree) via acorn-async-iteration
- Object Rest/Spread Properties for ECMAScript (ESTree) via acorn5-object-spread
- import() (ESTree) via acorn-dynamic-import
- BigInt: Arbitrary precision integers in JavaScript (ESTree) via acorn-bigint
- Numeric Separators via acorn-numeric-separator
- Optional catch binding (ESTree) via acorn-optional-catch-binding
- import.meta via acorn-import-meta
The following stage 3 proposals are not yet implemented:
- RegExp Lookbehind Assertions
- Unicode property escapes in regular expressions
- Private methods and getter/setters for JavaScript classes
- Class field declarations (Only public fields, private fields and methods, not the static fields, since they are stage 2)
Usage
You can use this module directly in order to get an Acorn instance with the plugin installed:
var acorn = require('acorn-stage3');Or you can use inject.js for injecting the plugin into your own version of Acorn like this:
var acorn = require('acorn-stage3/inject')(require('./custom-acorn'));Then, use the plugins option to enable the plugiin:
var ast = acorn.parse(code, {
plugins: { stage3: true }
});License
This plugin is released under the GNU Affero General Public License.