UNPKG

spinjs

Version:

<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spin.js/master/logo.svg"></a></p>

90 lines 3.78 kB
"use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var fs = require("fs"); var configRc_1 = require("./configRc"); var Stack_1 = require("./Stack"); var requireModule_1 = require("./requireModule"); var Spin_1 = require("./Spin"); var CssProcessorPlugin_1 = require("./plugins/CssProcessorPlugin"); var ES6Plugin_1 = require("./plugins/ES6Plugin"); var ApolloPlugin_1 = require("./plugins/ApolloPlugin"); var ReactNativePlugin_1 = require("./plugins/ReactNativePlugin"); var ReactNativeWebPlugin_1 = require("./plugins/ReactNativeWebPlugin"); var StyledComponentsPlugin_1 = require("./plugins/StyledComponentsPlugin"); var WebAssetsPlugin_1 = require("./plugins/WebAssetsPlugin"); var ReactPlugin_1 = require("./plugins/ReactPlugin"); var WebpackPlugin_1 = require("./plugins/WebpackPlugin"); var ReactHotLoaderPlugin_1 = require("./plugins/ReactHotLoaderPlugin"); var TypeScriptPlugin_1 = require("./plugins/TypeScriptPlugin"); var AngularPlugin_1 = require("./plugins/AngularPlugin"); var TCombPlugin_1 = require("./plugins/TCombPlugin"); var FlowRuntimePlugin_1 = require("./plugins/FlowRuntimePlugin"); var WEBPACK_OVERRIDES_NAME = 'webpack.overrides.js'; var createConfig = function (cmd) { var builders = {}; var plugins = [ new WebpackPlugin_1.default(), new WebAssetsPlugin_1.default(), new CssProcessorPlugin_1.default(), new ReactPlugin_1.default(), new ApolloPlugin_1.default(), new TypeScriptPlugin_1.default(), new ES6Plugin_1.default(), new ReactHotLoaderPlugin_1.default(), new TCombPlugin_1.default(), new FlowRuntimePlugin_1.default(), new ReactNativePlugin_1.default(), new ReactNativeWebPlugin_1.default(), new StyledComponentsPlugin_1.default(), new AngularPlugin_1.default(), ]; var config = new configRc_1.default(plugins); var overridesConfig = config.options.overridesConfig || WEBPACK_OVERRIDES_NAME; var overrides; if (fs.existsSync(overridesConfig)) { overrides = requireModule_1.default('./' + overridesConfig); } else { overrides = {}; } var spin = new Spin_1.default(cmd, config.builders, config.options, overrides.dependencyPlatforms || {}); for (var name in config.builders) { var builder = config.builders[name]; var stack = builder.stack; if (builder.enabled === false || builder.roles.indexOf(cmd) < 0) { continue; } if (spin.options.webpackDll && !stack.hasAny('server')) { var dllBuilder = __assign({}, builder); dllBuilder.name = builder.name + 'Dll'; dllBuilder.parent = builder; dllBuilder.stack = new Stack_1.default(dllBuilder.stack.technologies, 'dll'); builders[dllBuilder.name] = dllBuilder; builder.child = dllBuilder; } builders[name] = builder; } var _loop_1 = function (name) { var builder = builders[name]; config.plugins.forEach(function (plugin) { return plugin.configure(builder, spin); }); if (overrides[name]) { builders[name].config = spin.mergeWithStrategy({ entry: 'replace', }, builders[name].config, overrides[name]); } }; for (var name in builders) { _loop_1(name); } return { builders: builders, options: spin.options }; }; exports.default = createConfig; //# sourceMappingURL=createConfig.js.map