Code coverage report for loader/lib/transform.js

Statements: 100% (26 / 26)      Branches: 100% (4 / 4)      Functions: 100% (7 / 7)      Lines: 100% (26 / 26)      Ignored: none     

All files » loader/lib/ » transform.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 611 1 1 1 1           1 6 5             1 5             1 3 3 3 1   2   2             1 3 3 3 1   2   2             1 4    
var uglify = require('uglify-js');
var Cleaner = require('clean-css');
var less = require('less');
var stylus = require('stylus');
var coffee = require('coffee-script');
 
/**
 * 调用uglifyjs模块压缩脚本文件
 * @param {String} input JavaScript source code
 */
exports.transformScript = function (input) {
  var result = uglify.minify(input, {fromString: true});
  return result.code;
};
 
/**
 * 调用clean css模块压缩样式表文件
 * @param {String} input CSS source code
 */
exports.transformStyle = function (input) {
  return new Cleaner().minify(input);
};
 
/**
 * 调用less模块编译less文件到CSS内容
 * @param {String} input JavaScript source code
 */
exports.transformLess = function (input) {
  var output;
  less.render(input, function (err, css) {
    if (err) {
      throw err;
    }
    output = css;
  });
  return output;
};
 
/**
 * 调用stylus模块编译stylus文件到CSS内容
 * @param {String} input JavaScript source code
 */
exports.transformStylus = function (input) {
  var output;
  stylus(input).render(function (err, css) {
    if (err) {
      throw err;
    }
    output = css;
  });
  return output;
};
 
/**
 * 调用coffee-script模块编译coffee文件到JS内容
 * @param {String} input JavaScript source code
 */
exports.transformCoffee = function (input) {
  return coffee.compile(input);
};