node-make

Make for Node.js

node-make

It's neither Jake nor Runfile, it's just Makefile and JavaScript.

npm install -g node-make

makefile.js

// built-in Promisify node core api 
// you can use 'mz' without installation 
import fs from 'mz/fs'
 
log:
  log('hi')
  log('feel weird?')
  for (let i of [1, 2, 3]) {
    console.log(i)
  }
 
// async/await 
md@async:
  const data = await fs.readFile('hello.md', 'utf8')
  console.log(data)
 
// shell commands 
publish:
  exec('npm run build')
  exec('npm test')
  exec('npm publish')  
 
// emit a task in a task 
emit:
  // callback is optional 
  emit('log', callback)
 
// single-line exec() commands short-hand 
try:
  // `argv` is global variable for accessing user input from cli 
  const message = argv.|| new Date()
  > git add -A
  > git commit -"${message}"
  > git push origin master
 
// multi-line exec() commands short-hand 
source:
  >>>
  export PATH='$PATH:~/go'
  echo $PATH
  <<<

command line

mk [taskName]

MIT © EGOIST