Support for rest and spread properties in acorn 5
npm install @browserify/acorn5-object-spread
This is plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.
Fork of https://github.com/adrianheine/acorn5-object-spread to support old versions of node until acorn adopts rest-spread
It implements support for spread and rest properties as defined in the stage 3 proposal Object Rest/Spread Properties for ECMAScript.
You can use this module directly in order to get an Acorn instance with the plugin installed:
``javascript`
var acorn = require('@browserify/acorn5-object-spread-es3');
Or you can use inject.js for injecting the plugin into your own version of Acorn like this:
`javascript`
var acorn = require('@browserify/acorn5-object-spread/inject')(require('./custom-acorn'));
Then, use the plugins option whenever you need to support object spread or rest while parsing:
`javascript`
var ast = acorn.parse(code, {
plugins: { objectSpread: true }
});
acorn-object-rest-spread
is another acorn plugin implementing the same spec. There are some differences, though:
* acorn-object-rest-spread overwrites acorn's parseObj with a modified copy from acorn 4,({async, foo})
so that an acorn instance with that plugin cannot for example parse SpreadElement
and wrongly complains about duplicate property names in patterns.
* acorn-object-rest-spread emits s with avalue
non-standard
propertySpreadElement
* acorn-object-rest-spread emits s in arrow function argument patternsRestElement`s
and nested object patterns were it should emit
* acorn-object-rest-spread doesn't check for invalid trailing commas in rest properties
This plugin is issued under the MIT license.
With <3 by UXtemple.