forked from FabMo/FabMo-Engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
103 lines (92 loc) · 3.01 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* eslint-disable no-unused-vars */
// Generated using webpack-cli http://github.com/webpack-cli
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const lib = "dashboard/static/js/libs";
const js = "dashboard/static/js";
const webpack = require("webpack");
const ProvidePlugin = require("webpack").ProvidePlugin;
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const Promise = require("es6-promise").Promise;
const es6_promise = require("es6-promise").polyfill();
process.traceDeprecation = true;
var cleanOptions = {
exclude: ["index.html"],
};
var config = {
mode: "development",
entry: {
apps: "./dashboard/apps/apps.fma/js/apps.js",
dashboard: "./dashboard/static/js/main.js",
job_manager: "./dashboard/apps/job_manager.fma/js/job_manager.js",
editor: "./dashboard/apps/editor.fma/js/editor.js",
configuration: "./dashboard/apps/configuration.fma/js/configuration.js",
macro_manager: "./dashboard/apps/macro_manager.fma/js/macro_manager.js",
network_manager:
"./dashboard/apps/network_manager.fma/js/network_manager.js",
preview: "./dashboard/apps/previewer.fma/js/app.js",
selftest: "./dashboard/apps/selftest.fma/js/selftest.js",
},
output: {
path: "/fabmo/dashboard/build",
publicPath: "/",
filename: "[name].js",
},
resolve: {
extensions: ["", ".js"],
},
module: {
rules: [
{
test: /\\.(js|jsx)$/,
loader: "babel-loader",
},
{
test: /\.js$/,
enforce: "pre",
use: ["source-map-loader"],
},
{
test: /\.css$/i,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
publicPath: "/",
},
},
"css-loader",
],
},
{
test: /\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/,
type: "asset",
},
// Add your rules for custom modules here
// Learn more about loaders from https://webpack.js.org/loaders/
],
},
plugins: [
new CleanWebpackPlugin({
dry: false,
verbose: true,
cleanOnceBeforeBuildPatterns: ["**/*", "!index.html"],
}),
new ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
"windows.jQuery": "jquery",
}),
//new HtmlWebpackPlugin(
//{
//template: 'index.html',
//}
//),
// Add your plugins here
// Learn more obout plugins from https://webpack.js.org/configuration/plugins/
new MiniCssExtractPlugin(),
],
};
module.exports = config;