UNPKG

@jimpick/dat-next

Version:

Dat is the package manager for data. Easily share and version control data.

49 lines (42 loc) 1.34 kB
module.exports = { name: 'status', command: status, help: [ 'Get information on about the Dat in a directory.', '', 'Usage: dat status' ].join('\n'), options: [] } function status (opts) { var Dat = require('@jimpick/dat-node') var neatLog = require('neat-log') var statusUI = require('../ui/status') var onExit = require('../lib/exit') var parseArgs = require('../parse-args') var debug = require('debug')('dat') debug('dat status') if (!opts.dir) { opts.dir = parseArgs(opts).dir || process.cwd() } opts.createIfMissing = false // sync must always be a resumed archive var neat = neatLog(statusUI, { logspeed: opts.logspeed, quiet: opts.quiet, debug: opts.debug }) neat.use(onExit) neat.use(function (state, bus) { state.opts = opts Dat(opts.dir, opts, function (err, dat) { if (err && err.name === 'MissingError') return bus.emit('exit:warn', 'Sorry, could not find a dat in this directory.') if (err) return bus.emit('exit:error', err) state.dat = dat var stats = dat.trackStats() if (stats.get().version === dat.version) return exit() stats.on('update', function () { if (stats.get().version === dat.version) return exit() }) function exit () { bus.render() process.exit(0) } }) }) }