Code coverage report for babel-loader/index.js

Statements: 81.82% (18 / 22)      Branches: 50% (3 / 6)      Functions: 66.67% (2 / 3)      Lines: 81.82% (18 / 22)      Ignored: none     

All files » babel-loader/ » index.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 61 62 63 64 65 661           1 3                         3   3         3 3   3 3   3                     3 3       1   3   3 3   3       3          
var assign = require('object-assign'),
    babel = require('babel-core'),
    cache = require('./lib/fs-cache.js'),
    loaderUtils = require('loader-utils'),
    pkg = require('./package.json');
 
module.exports = function (source, inputSourceMap) {
    var callback = this.async(),
        queryOptions = loaderUtils.parseQuery(this.query),
        options = assign({
            inputSourceMap: inputSourceMap,
            filename: loaderUtils.getRemainingRequest(this),
            cacheIdentifier: JSON.stringify({
                'babel-loader': pkg.version,
                'babel-core': babel.version
            })
        }, this.options.babel, queryOptions),
        result;
 
 
    this.cacheable();
 
    Iif (!options.sourceMap) {
        options.sourceMap = this.sourceMap;
    }
 
 
    cacheDirectory = options.cacheDirectory;
    cacheIdentifier = options.cacheIdentifier;
 
    delete options.cacheDirectory;
    delete options.cacheIdentifier;
 
    Iif (cacheDirectory){
        cache({
            directory: cacheDirectory,
            identifier: cacheIdentifier,
            source: source,
            options: options,
            transform: transpile,
        }, function (err, result) {
            callback(err, result.code, result.map);
        });
    } else {
        result = transpile(source, options);
        callback(null, result.code, result.map);
    }
};
 
function transpile(source, options){
 
    var result = babel.transform(source, options);
 
    var code = result.code;
    var map = result.map;
 
    Iif (map) {
        map.sourcesContent = [source];
    }
 
    return {
        code: code,
        map: map
    };
}