UNPKG

enb

Version:

Faster BEM/BEViS assembler

74 lines (66 loc) 2.47 kB
/** * borschik * ======== * * Технология переехала в пакет `enb-borschik`. */ var Vow = require('vow'); var inherit = require('inherit'); var BorschikPreprocessor = require('../lib/preprocess/borschik-preprocessor'); /** * @type {Tech} */ module.exports = inherit(require('../lib/tech/base-tech'), { getName: function () { return 'borschik'; }, configure: function () { this._source = this.node.unmaskTargetName(this.getRequiredOption('sourceTarget')); this._target = this.node.unmaskTargetName(this.getRequiredOption('destTarget')); this._freeze = this.getOption('freeze', false); this._minify = this.getOption('minify', true); this._tech = this.getOption('tech', null); }, getTargets: function () { return [this._target]; }, build: function () { var target = this._target; this.node.getLogger().logTechIsDeprecated( target, 'borschik', 'enb', 'borschik', 'enb-borschik' ); var targetPath = this.node.resolvePath(target); var source = this._source; var sourcePath = this.node.resolvePath(source); var _this = this; var cache = this.node.getNodeCache(target); return this.node.requireSources([source]).then(function () { if (cache.needRebuildFile('source-file', sourcePath) || cache.needRebuildFile('target-file', targetPath) ) { var borschikProcessor = BorschikProcessorSibling.fork(); return Vow.when( borschikProcessor.process(sourcePath, targetPath, _this._freeze, _this._minify, _this._tech) ).then(function () { cache.cacheFileInfo('source-file', sourcePath); cache.cacheFileInfo('target-file', targetPath); _this.node.resolveTarget(target); borschikProcessor.dispose(); }); } else { _this.node.isValidTarget(target); _this.node.resolveTarget(target); return null; } }); } }); var BorschikProcessorSibling = require('sibling').declare({ process: function (sourcePath, targetPath, freeze, minify, tech) { return (new BorschikPreprocessor()).preprocessFile(sourcePath, targetPath, freeze, minify, tech); } });