build-boiler
Version:
Build Boilerplate using Webpack, Eslint, Assemble, Nunjucks, and BrowserSync
74 lines (51 loc) • 2.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = function (config) {
var isomorphic = config.isomorphic;
var pkg = config.pkg;
var utils = config.utils;
var _ref = isomorphic.modules || {};
var _ref$include = _ref.include;
var include = _ref$include === undefined ? {} : _ref$include;
var _ref$exclude = _ref.exclude;
var exclude = _ref$exclude === undefined ? {} : _ref$exclude;
var addbase = utils.addbase;
var dependencies = pkg.dependencies;
var hfaDir = [];
try {
hfaDir = _fs2.default.readdirSync(addbase('node_modules', '@hfa'));
} catch (err) {/*eslint no-empty:0*/}
var hfaMods = hfaDir.reduce(function (list, hfaMod) {
var deps = undefined;
try {
deps = _fs2.default.readdirSync(addbase('node_modules', '@hfa/' + hfaMod, 'node_modules'));
} catch (err) {
deps = [];
}
return [].concat(_toConsumableArray(list), _toConsumableArray(deps));
}, []);
var blacklist = [].concat(include);
var whitelist = ['formidable'].concat(exclude);
var allDeps = _lodash2.default.union(dependencies, hfaMods, pkg, whitelist);
function filterDeps(dep) {
var isBin = ['.bin'].indexOf(dep) !== -1;
var isHfa = /^@hfa\/?.*$/.test(dep);
var isBlacklist = blacklist.indexOf(dep) !== -1;
var shouldExclude = isBin || isHfa || isBlacklist;
return !shouldExclude;
}
return allDeps.filter(filterDeps).reduce(function (acc, mod) {
return _extends({}, acc, _defineProperty({}, mod, 'commonjs ' + mod));
}, {});
};
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return 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'];