gzip-size 843 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env node
  2. 'use strict';
  3. var fs = require('fs');
  4. var zlib = require('zlib');
  5. var concat = require('concat-stream');
  6. var pkg = require('./package.json');
  7. var argv = process.argv.slice(2);
  8. var input = argv[0];
  9. function help() {
  10. console.log([
  11. '',
  12. ' ' + pkg.description,
  13. '',
  14. ' Usage',
  15. ' gzip-size <file>',
  16. ' cat <file> | gzip-size',
  17. '',
  18. ' Example',
  19. ' gzip-size index.js',
  20. ' 211'
  21. ].join('\n'));
  22. }
  23. function report(data) {
  24. console.log(data.length);
  25. }
  26. if (argv.indexOf('--help') !== -1) {
  27. help();
  28. return;
  29. }
  30. if (argv.indexOf('--version') !== -1) {
  31. console.log(pkg.version);
  32. return;
  33. }
  34. if (process.stdin.isTTY) {
  35. if (!input) {
  36. help();
  37. return;
  38. }
  39. fs.createReadStream(input).pipe(zlib.createGzip()).pipe(concat(report));
  40. } else {
  41. process.stdin.pipe(zlib.createGzip()).pipe(concat(report));
  42. }