包详细信息

qqjs

jdxcode278.1kMIT0.3.11

useful functions for writing node scripts

anycli

自述文件

qqjs

A bunch of wrappers for various utilites. Ideal for writing shell scripts in node.

Version CircleCI Appveyor CI Codecov Greenkeeper Known Vulnerabilities Downloads/week License

Usage

It's best to look at the code to see what all is available, but here is an example of using it:

const qq = require('qqjs')

// qq.run(fn) is just fn().catch(qq.handleError)
// this helps skip a couple of steps when running async functions in scripts
qq.run(async () => {
  // turn silent mode to log all commands
  // can also see output with DEBUG=qq
  // qq.config.silent = false

  // run a command with qq.x this runs synchronously using execa
  // by default it will echo out to the screen the commmand, stdout/stderr and connect to stdin
  // can send either a string
  await qq.x('git --version')

  // or specify the arguments
  await qq.x('git' ['--version'])

  await qq.cd('newdir')

  await qq.cp('from', 'to')

  const pjson = await qq.readJSON('package.json')
  await qq.writeJSON('package.json', {})

  // for almost any command, if it takes a string you can also pass an array and it will automatically path.join()
  await qq.writeJSON(['mydir', 'package.json'], {})
})

Status

  • [x] x (exec)
  • [x] readJSON
  • [x] writeJSON
  • [x] path
  • [x] mkdirp
  • [x] env
  • [x] globby
  • [x] read file
  • [x] write file
  • [x] cd
  • [x] ls
  • [x] cp (use cpy)
  • [x] mv
  • [x] rm
  • [x] cwd
  • [x] file exists
  • [x] homedir
  • [x] chmod
  • [x] download files
  • [x] emptyDir
  • [ ] ln
  • [ ] is file/directory/symlink/etc
  • [ ] batch rename
  • [ ] sed
  • [ ] upload files
  • [ ] aws s3
  • [ ] resolve-from
  • [ ] open-editor
  • [ ] hasha
  • [x] temp dirs
  • [ ] temp files
  • [ ] git stuff?
  • [ ] find-up
  • [ ] read-pkg
  • [ ] which
  • [x] pushd/popd