UNPKG

build-boiler

Version:

Build Boilerplate using Webpack, Eslint, Assemble, Nunjucks, and BrowserSync

94 lines (68 loc) 3.56 kB
'use strict'; 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; }; var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); exports.default = function (config) { var eslintParentConfig = config.eslint; var isMainTask = config.isMainTask; var environment = config.environment; var sources = config.sources; var utils = config.utils; var webpackConfig = config.webpackConfig; var ENV = config.ENV; var isDev = environment.isDev; var isServer = environment.isServer; var addbase = utils.addbase; var srcDir = sources.srcDir; var entry = sources.entry; var externalConfig = webpackConfig.externals; var main = entry.main; var DEBUG = isDev; var TEST = ENV === 'test' || ENV === 'ci'; var SERVER = ENV === 'server' || isServer; var extract = !isMainTask; var _ref = _lodash2.default.isArray(main) ? main.map(function (fp) { return addbase(srcDir, fp); }) : []; var _ref2 = _slicedToArray(_ref, 1); var expose = _ref2[0]; var _makeExternals = (0, _makeExternals3.default)(externalConfig, SERVER); var externals = _makeExternals.externals; var provide = _makeExternals.provide; var toolsPlugin = (0, _isomorpicTools2.default)(_lodash2.default.assign({}, config, { isPlugin: true })); var sharedConfig = { toolsPlugin: toolsPlugin, DEBUG: DEBUG, TEST: TEST, SERVER: SERVER }; var loaders = (0, _loaders2.default)(_lodash2.default.assign({}, config, sharedConfig, { extract: extract, expose: expose })); var plugins = (0, _plugins2.default)(_lodash2.default.assign({}, config, sharedConfig, { provide: provide })); var defaultEslintConfig = { isDev: isDev, lintEnv: TEST ? 'test' : 'web', basic: true, react: false }; var eslintConfig = (0, _eslintConfig2.default)(_lodash2.default.assign({}, defaultEslintConfig, eslintParentConfig)); return _extends({ isServer: SERVER, externals: externals }, loaders, plugins, eslintConfig); }; var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _eslintConfig = require('eslint-config'); var _eslintConfig2 = _interopRequireDefault(_eslintConfig); var _loaders = require('./loaders'); var _loaders2 = _interopRequireDefault(_loaders); var _plugins = require('./plugins'); var _plugins2 = _interopRequireDefault(_plugins); var _isomorpicTools = require('./isomorpic-tools'); var _isomorpicTools2 = _interopRequireDefault(_isomorpicTools); var _makeExternals2 = require('./make-externals'); var _makeExternals3 = _interopRequireDefault(_makeExternals2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = exports['default'];