-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.config.js
More file actions
110 lines (104 loc) · 3.06 KB
/
webpack.config.js
File metadata and controls
110 lines (104 loc) · 3.06 KB
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
104
105
106
107
108
109
110
/* eslint-disable no-undef */
const webpackLib = require('webpack');
const devCerts = require("office-addin-dev-certs");
//const CopyWebpackPlugin = require("copy-webpack-plugin");
//const HtmlWebpackPlugin = require("html-webpack-plugin");
const urlDev = "https://localhost:3000/";
const urlProd = "https://www.contoso.com/"; // CHANGE THIS TO YOUR PRODUCTION DEPLOYMENT LOCATION
async function getHttpsOptions() {
const httpsOptions = await devCerts.getHttpsServerOptions();
return { ca: httpsOptions.ca, key: httpsOptions.key, cert: httpsOptions.cert };
}
module.exports = async (env, options) => {
const dev = options.mode === "development";
const config = {
//devtool: "source-map",
//entry: {
// polyfill: ["core-js/stable", "regenerator-runtime/runtime"],
// taskpane: ["./src/taskpane/taskpane.ts", "./src/taskpane/taskpane.html"],
// commands: "./src/commands/commands.ts",
//},
//output: {
// clean: true,
//},
//resolve: {
// extensions: [".ts", ".tsx", ".html", ".js"],
//},
//module: {
// rules: [
// {
// test: /\.ts$/,
// exclude: /node_modules/,
// use: {
// loader: "babel-loader",
// options: {
// presets: ["@babel/preset-typescript"],
// },
// },
// },
// {
// test: /\.tsx?$/,
// exclude: /node_modules/,
// use: "ts-loader",
// },
// {
// test: /\.html$/,
// exclude: /node_modules/,
// use: "html-loader",
// },
// {
// test: /\.(png|jpg|jpeg|gif|ico)$/,
// type: "asset/resource",
// generator: {
// filename: "assets/[name][ext][query]",
// },
// },
// ],
//},
plugins: [
new webpackLib.DefinePlugin({
Flag: "Dev"
})
//new HtmlWebpackPlugin({
// filename: "taskpane.html",
// template: "./src/taskpane/taskpane.html",
// chunks: ["polyfill", "taskpane"],
//}),
//new CopyWebpackPlugin({
// patterns: [
// {
// from: "assets/*",
// to: "assets/[name][ext][query]",
// },
// {
// from: "manifest*.xml",
// to: "[name]" + "[ext]",
// transform(content) {
// if (dev) {
// return content;
// } else {
// return content.toString().replace(new RegExp(urlDev, "g"), urlProd);
// }
// },
// },
// ],
//}),
//new HtmlWebpackPlugin({
// filename: "commands.html",
// template: "./src/commands/commands.html",
// chunks: ["polyfill", "commands"],
//}),
],
devServer: {
headers: {
"Access-Control-Allow-Origin": "*",
},
server: {
type: "https",
options: env.WEBPACK_BUILD || options.https !== undefined ? options.https : await getHttpsOptions(),
},
port: process.env.npm_package_config_dev_server_port || 4200,
},
};
return config;
};