test.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. 'use strict';
  2. var path = require('path');
  3. var fs = require('graceful-fs');
  4. var gutil = require('gulp-util');
  5. var map = require('map-stream');
  6. var jsmin = require('node-jsmin-sourcemap');
  7. var filesize = require('filesize');
  8. var tempWrite = require('temp-write');
  9. module.exports = function (options) {
  10. return map(function (file, cb) {
  11. if (file.isNull()) {
  12. return cb(null, file);
  13. }
  14. if (file.isStream()) {
  15. return cb(new gutil.PluginError('gulp-jsmin', 'Streaming not supported'));
  16. }
  17. if (['.js'].indexOf(path.extname(file.path)) === -1) {
  18. gutil.log('gulp-jsmin: Skipping unsupported js' + gutil.colors.blue(file.relative));
  19. return cb(null, file);
  20. }
  21. tempWrite(file.contents, path.extname(file.path), function (err, tempFile) {
  22. if (err) {
  23. return cb(new gutil.PluginError('gulp-jsmin', err));
  24. }
  25. fs.stat(tempFile, function (err, stats) {
  26. if (err) {
  27. return cb(new gutil.PluginError('gulp-jsmin', err));
  28. }
  29. options = options || {};
  30. fs.readFile(tempFile, { encoding : 'UTF-8'}, function(err, data) {
  31. if (err) {
  32. return cb(new gutil.PluginError('gulp-jsmin', err));
  33. }
  34. console.log(file);
  35. //var minimized = jsmin({'code': data, 'src': })
  36. gutil.log('gulp-jsmin:', gutil.colors.green('✔ ') + file.relative);
  37. //file.contents = new Buffer(minimized);
  38. cb(null, file);
  39. });
  40. });
  41. });
  42. });
  43. };