nodejs SyntaxError: Unexpected token

nodejs SyntaxError: Unexpected token

I am using elasticsearch-exporter to export data from Elasticsearch.
The tool initially is a nodejs application.
When I try to use the following command node exporter.js to make the tool list all the available options, it crashes with the following exception
/home/me/storage/Elasticsearch-Exporter/log.js:54
exports.error = (…args) => !capture(“ERROR”, args) && console.log(timestamp() + util.format(…args).red);
^^^

SyntaxError: Unexpected token …
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/home/anas/storage/Elasticsearch-Exporter/exporter.js:9:11)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)

here is the line where the exception is thrown
exports.error = (…args) => !capture(“ERROR”, args) && console.log(timestamp() + util.format(…args).red);

I think the error is related to a different version of nodejs but I am not sure.
Here is the output of the node –version command v4.2.6
Here is the output of the npm –version command 3.10.6

Solutions/Answers:

Solution 1:

Yes, indeed, ... is called the spread operator and is only available since Node.js 6

The elasticsearch-exporter project declares in its package.json file that it only works with node version > 6

So since you’re running Node.js 4.2.6, you either need to upgrade your Node.js installation or fork the elasticsearch-exporter project and modify it to work with Node.js 4.2.6.

References