build-boiler
Version:
Build Boilerplate using Webpack, Eslint, Assemble, Nunjucks, and BrowserSync
66 lines (45 loc) • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (app, config, _ref) {
var _ref$preRender = _ref.preRender;
var preRender = _ref$preRender === undefined ? [] : _ref$preRender;
var _ref$onload = _ref.onload;
var onload = _ref$onload === undefined ? [] : _ref$onload;
var onloadFns = (0, _requireDir2.default)(_path2.default.join(__dirname, 'onload'));
var preRenderFns = (0, _requireDir2.default)(_path2.default.join(__dirname, 'pre-render'));
onload = (0, _transormArray2.default)(onload, _lodash2.default.isFunction);
preRender = (0, _transormArray2.default)(preRender, _lodash2.default.isFunction);
onloadFns.push.apply(onloadFns, _toConsumableArray(onload));
preRenderFns.push.apply(preRenderFns, _toConsumableArray(preRender));
function callFns(fn) {
for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
rest[_key - 1] = arguments[_key];
}
fn.length === 1 ? fn(config).apply(null, rest) : fn.apply(null, rest);
}
app.onLoad(/\.(?:md|html)$/, function (file, next) {
onloadFns.forEach(function (fn) {
return callFns(fn, file, next);
});
next(null, file);
});
app.preRender(/\.(?:md|html)$/, function (file, next) {
preRenderFns.forEach(function (fn) {
return callFns(fn, file, next);
});
next(null, file);
});
};
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _transormArray = require('../../../utils/transorm-array');
var _transormArray2 = _interopRequireDefault(_transormArray);
var _requireDir = require('../../../utils/require-dir');
var _requireDir2 = _interopRequireDefault(_requireDir);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
module.exports = exports['default'];