UNPKG

s3st

Version:

A command line utility that allows you to stream data from multiple S3 objects directly into your terminal

46 lines (35 loc) 1.06 kB
#!/usr/bin/env node 'use strict' const AWS = require('aws-sdk') const program = require('commander') const { pipeline } = require('readable-stream') const createS3stStream = require('./') const decompress = require('./transformers/decompress') const pkg = require('../package.json') program .version(pkg.version, '-v, --version') .option('-D, --do-not-decompress', 'Do not try to decompress files automatically (gzip, deflate, brotli)') .usage('[options] <bucket> [prefix]') .parse(process.argv) const [bucket, prefix] = program.args if (!bucket) { console.error('Error: expected "bucket" argument. Run with --help for more details on usage') process.exit(1) } const transform = program.doNotDecompress ? undefined : decompress const s3 = new AWS.S3() const stream = createS3stStream(s3, bucket, prefix || '', transform) const handleErr = (err) => { console.error('Error:', err.message) process.exit(1) } stream.on('error', handleErr) pipeline( stream, process.stdout, (err) => { if (err) { handleErr(err) } } )