UNPKG

direct-dev

Version:
31 lines (25 loc) 1.47 kB
'use strict'; 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); }); };