UNPKG

enb

Version:

Faster BEM/BEViS assembler

42 lines (40 loc) 1.67 kB
/** * priv-js * ======= * * Технология переехала в пакет `enb-priv-js`. */ var Vow = require('vow'); var vowFs = require('../lib/fs/async-fs'); var BorschikPreprocessor = require('../lib/preprocess/borschik-preprocessor'); module.exports = require('../lib/build-flow').create() .name('priv-js') .deprecated('enb', 'enb-priv-js') .target('target', '?.priv.js') .useFileList('priv.js') .useSourceText('bemhtmlTarget', '?.bemhtml.js') .builder(function (sourceFiles, bemhtml) { var _this = this; var target = this._target; var jsBorschikPreprocessor = new BorschikPreprocessor(); var node = this.node; return Vow.all(sourceFiles.map(function (file) { return _this.node.createTmpFileForTarget(target).then(function (tmpfile) { return jsBorschikPreprocessor.preprocessFile(file.fullname, tmpfile, false, false).then(function () { return vowFs.read(tmpfile, 'utf8').then(function (data) { var filename = node.relativePath(file.fullname); vowFs.remove(tmpfile); var pre = '/* ' + filename + ': begin */\n'; var post = '\n/* ' + filename + ': end */'; return pre + data + post; }); }); }); })).then(function (res) { res.push( '\nif (typeof exports !== "undefined" && typeof blocks !== "undefined") { exports.blocks = blocks; }\n' ); return bemhtml + '\n' + res.join('\n'); }); }) .createTech();