39 lines
855 B
JavaScript
39 lines
855 B
JavaScript
#!/usr/bin/env node
|
|
'use strict';
|
|
var fs = require('fs');
|
|
var zlib = require('zlib');
|
|
var concat = require('concat-stream');
|
|
var input = process.argv[2];
|
|
|
|
function help() {
|
|
console.log('gzip-size <input-file>');
|
|
console.log('or');
|
|
console.log('cat <input-file> | gzip-size');
|
|
console.log('');
|
|
console.log('Get the gzipped size of a file');
|
|
}
|
|
|
|
function report(data) {
|
|
console.log(data.length);
|
|
}
|
|
|
|
if (process.argv.indexOf('-h') !== -1 || process.argv.indexOf('--help') !== -1) {
|
|
help();
|
|
return;
|
|
}
|
|
|
|
if (process.argv.indexOf('-v') !== -1 || process.argv.indexOf('--version') !== -1) {
|
|
console.log(require('./package').version);
|
|
return;
|
|
}
|
|
|
|
if (process.stdin.isTTY) {
|
|
if (!input) {
|
|
return help();
|
|
}
|
|
|
|
fs.createReadStream(input).pipe(zlib.createGzip()).pipe(concat(report));
|
|
} else {
|
|
process.stdin.pipe(zlib.createGzip()).pipe(concat(report));
|
|
}
|