1 | 'use strict';
|
2 |
|
3 | const WebpackTool = require('webpack-tool');
|
4 | exports.WebpackTool = WebpackTool;
|
5 | exports.webpack = WebpackTool.webpack;
|
6 | exports.merge = WebpackTool.merge;
|
7 | exports.Utils = require('./utils/utils');
|
8 | exports.WebpackBuilder = require('./lib/builder');
|
9 | exports.WebpackBaseBuilder = require('./lib/base');
|
10 | exports.WebpackClientBuilder = require('./lib/client');
|
11 | exports.WebpackServerBuilder = require('./lib/server');
|
12 | exports.WebpackDllBuilder = require('./lib/dll');
|
13 |
|
14 |
|
15 | exports.getConfig = (config = {}, option = {}) => {
|
16 | return exports.WebpackBuilder.getConfig(config, option);
|
17 | };
|
18 |
|
19 | exports.getWebpackConfig = (config = {}, option = {}) => {
|
20 | if (config.framework === 'dll' || option.onlyDll) {
|
21 | return exports.getDllWebpackConfig(config, option);
|
22 | }
|
23 | if (config.framework === 'js' || config.framework === 'web' || config.target === 'web' || option.onlyWeb) {
|
24 | return exports.WebpackBuilder.getWebpackConfig(config, [exports.WebpackClientBuilder]);
|
25 | }
|
26 | if (config.framework === 'node' || config.target === 'node' || option.onlyNode) {
|
27 | return exports.WebpackBuilder.getWebpackConfig(config, [exports.WebpackServerBuilder]);
|
28 | }
|
29 | return exports.WebpackBuilder.getWebpackConfig(config, [exports.WebpackClientBuilder, exports.WebpackServerBuilder], option);
|
30 | };
|
31 |
|
32 | exports.getWebWebpackConfig = (config = {}, option = {}) => {
|
33 | return exports.WebpackBuilder.getWebpackConfig(config, [exports.WebpackClientBuilder], option);
|
34 | };
|
35 |
|
36 | exports.getNodeWebpackConfig = (config = {}, option = {}) => {
|
37 | return exports.WebpackBuilder.getWebpackConfig(config, [exports.WebpackServerBuilder], option);
|
38 | };
|
39 |
|
40 | exports.getDllWebpackConfig = (config = {}, option = {}) => {
|
41 | if (option.singleConfig) {
|
42 | return new exports.WebpackDllBuilder(config).create();
|
43 | }
|
44 | return exports.WebpackBuilder.getDllWebpackConfig(config);
|
45 | };
|
46 |
|
47 | exports.build = (webpackConfig, option, callback) => {
|
48 | return new WebpackTool().build(webpackConfig, option, callback);
|
49 | };
|
50 |
|
51 | exports.server = (webpackConfig, option, callback) => {
|
52 | return new WebpackTool().server(webpackConfig, option, callback);
|
53 | };
|