Skip to content

Commit c1e42da

Browse files
committed
Add rest spread support
1 parent 9aa7130 commit c1e42da

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var acorn = require('acorn');
1+
var acorn = require('acorn5-object-spread/inject')(require('acorn'));
22
var walk = require('acorn/dist/walk');
33
var defined = require('defined');
44

@@ -18,7 +18,8 @@ function parse (src, opts) {
1818
allowImportExportEverywhere: defined(
1919
opts.allowImportExportEverywhere, true
2020
),
21-
allowHashBang: defined(opts.allowHashBang, true)
21+
allowHashBang: defined(opts.allowHashBang, true),
22+
plugins: { objectSpread: true }
2223
});
2324
}
2425

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
},
1919
"dependencies": {
2020
"acorn": "^5.2.1",
21+
"acorn5-object-spread": "^5.0.0",
2122
"defined": "^1.0.0"
2223
},
2324
"devDependencies": {

test/files/rest-spread.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var a = require('a');
2+
var b = require('b');
3+
var c = require('c');
4+
5+
6+
var obj = { foo: 'bar', bee: 'bop' }
7+
var spread = { ...obj }
8+
var { foo, ...rest } = obj
9+

test/rest-spread.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
var test = require('tap').test;
2+
var detective = require('../');
3+
var fs = require('fs');
4+
var src = fs.readFileSync(__dirname + '/files/rest-spread.js');
5+
6+
test('rest-spread', function (t) {
7+
t.doesNotThrow(detective.bind(detective, src), 'Files with rest or spread do not throw')
8+
t.end();
9+
});

0 commit comments

Comments
 (0)