Newer
Older
vmk-demo-bot / admin / node_modules / vinyl-fs / lib / dest / sourcemap.js
@eugene-sukhodolskiy eugene-sukhodolskiy 18 days ago 798 bytes init
'use strict';

var through = require('through2');
var sourcemap = require('vinyl-sourcemap');

function sourcemapStream(optResolver) {

  function saveSourcemap(file, enc, callback) {
    var self = this;

    var srcMap = optResolver.resolve('sourcemaps', file);

    if (!srcMap) {
      return callback(null, file);
    }

    var srcMapLocation = (typeof srcMap === 'string' ? srcMap : undefined);

    sourcemap.write(file, srcMapLocation, onWrite);

    function onWrite(sourcemapErr, updatedFile, sourcemapFile) {
      if (sourcemapErr) {
        return callback(sourcemapErr);
      }

      self.push(updatedFile);
      if (sourcemapFile) {
        self.push(sourcemapFile);
      }

      callback();
    }
  }

  return through.obj(saveSourcemap);
}

module.exports = sourcemapStream;