I would like to use ES6 and ES7 in my Gruntfile. The reason is that I would like to write a task, which includes the git-repository module. As you can see from the documentation, the module is only available in ES6 and ES7 and I would like to integrate this module as easy as possible. Is there a way that I can use ES6 and ES7 also in my Gruntfile - somthing like babel grunt
? Unfortunately, I did not find anything on Google and therefore I hope that you can help me.
Thank you in advance! :-)
Usually you may want to use a build tool to transpile, so this is a 'who will build a build tool' problem.
It isn't usual for public package on NPM to be available only in ES.next or ES6 with feature set that is not supported by Node. git-repository
isn't exception. It surely has transpiled code in the package and can be used without Babel.
Because the package was transpiled with babel-plugin-transform-runtime
, it requires babel-polyfill
to work.
Documentation uses async...await
only as an example because it suits the workflow. async
functions use promises, in ES5/ES6 it would be
require('babel-polyfill');
Repo.open('./example', { init: true })
.then(repo =>
repo.setRemote('origin', 'https://github.com/user/example.git')
.then(() => repo.add('--all .'))
.then(() => repo.commit('Commit message'))
...
);
co
is excellent alternative to async...await
for Node ES6 feature set that requires no transpiler.