JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7412
  • Score
    100M100P100Q30948F
  • License MIT

Support for rest and spread properties in acorn 5

Package Exports

  • acorn5-object-spread
  • acorn5-object-spread/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 (acorn5-object-spread) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Spread and rest properties support in acorn 5

NPM version

This is plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.

It implements support for spread and rest properties as defined in the stage 3 proposal Object Rest/Spread Properties for ECMAScript.

Usage

You can use this module directly in order to get an Acorn instance with the plugin installed:

var acorn = require('acorn5-object-spread');

Or you can use inject.js for injecting the plugin into your own version of Acorn like this:

var acorn = require('acorn5-object-spread/inject')(require('./custom-acorn'));

Then, use the plugins option whenever you need to support object spread or rest while parsing:

var ast = acorn.parse(code, {
  plugins: { objectSpread: true }
});

Differences to acorn-object-rest-spread

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, so that an acorn instance with that plugin cannot for example parse ({async, foo}) and wrongly complains about duplicate property names in patterns.
  • acorn-object-rest-spread emits SpreadElements with a non-standard value property
  • acorn-object-rest-spread emits SpreadElements in arrow function argument patterns and nested object patterns were it should emit RestElements
  • acorn-object-rest-spread doesn't check for invalid trailing commas in rest properties

License

This plugin is issued under the MIT license.

With <3 by UXtemple.