direct-dev
Version:
Yandex Direct dev tools
31 lines (25 loc) • 1.47 kB
JavaScript
var through = require('through2');
var path = require('path');
var lodash = require('lodash');
/**
* Добавляет заданные строки в начало и конец каждого файла
* Доступны плейсхолдеры `${relative}` (относительный путь к текущему файлу) и `${path}` (абсолютный путь).
* @param {Object} [options] - параметры обработчика
* @param {String} [options.before] - строка, добавляемая в начало (по умолчанию - комментарий с ${relative}')
* @param {String} [options.after] - строка, добавляемая в конец (по умолчанию - комментарий с ${relative}')
* @returns {Stream}
*/
module.exports = function (options) {
options = lodash.extend({ before: '\n/* begin: ${relative} */\n', after: '\n/* end: ${relative} */\n' }, options);
options.before = lodash.template(options.before);
options.after = lodash.template(options.after);
return through.obj(function (file, encoding, cb) {
// todo: испраивть определение относительного пути
var args = { path: file.path, relative: file.path };
var before = options.before(args);
var after = options.after(args);
file.contents = before + file.contents + after;
return cb(null, file);
});
};
;