UNPKG

coffee2es6

Version:

Decaffeinate your project

32 lines (26 loc) 1.01 kB
const glob = require('glob') const shell = require('shelljs') const colors = require('colors') const args = process.argv const projectPath = args[2] console.log(projectPath) const options = { ignore: `${projectPath}/node_modules/**` } return glob(`${projectPath}/**/*.coffee`, options, (er, files) => { const totalCSFiles = files.length files.map((file, index) => { // Decaffeinate *.coffee to .js const decaf = shell.exec(`decaffeinate ${file}`, { silent: true }) if (decaf.code === 0) { console.log(`#${index+1}/${totalCSFiles} ${decaf.stdout.replace('\n', '').green}`) // Transpils from ES5 to ES6/ES7 const lebab = shell.exec(`lebab --replace ${file.replace('coffee', 'js')} --transform arrow, let, template, includes, default-param`).red const eslint = shell.exec(`eslint --fix ${file.replace('coffee', 'js')}`) } else { console.log(`#${index+1}/${totalCSFiles } | ${decaf.stderr.replace('\n', '').red}`); } }) console.log('Done!') })