initial
This commit is contained in:
72
bundler/webpack.dev.js
Normal file
72
bundler/webpack.dev.js
Normal file
@@ -0,0 +1,72 @@
|
||||
const path = require('path');
|
||||
const { merge } = require('webpack-merge');
|
||||
const commonConfiguration = require('./webpack.common.js');
|
||||
const ip = require('ip');
|
||||
const portFinderSync = require('portfinder-sync');
|
||||
const fs = require("fs");
|
||||
|
||||
const infoColor = (_message) => {
|
||||
return `\u001b[1m\u001b[34m${_message}\u001b[39m\u001b[22m`;
|
||||
};
|
||||
|
||||
module.exports = (env) => {
|
||||
return merge(
|
||||
commonConfiguration(env),
|
||||
{
|
||||
devtool: 'source-map',
|
||||
stats: 'errors-warnings',
|
||||
mode: 'development',
|
||||
infrastructureLogging:
|
||||
{
|
||||
level: 'warn',
|
||||
},
|
||||
snapshot: { managedPaths: [] },
|
||||
devServer:
|
||||
{
|
||||
// host: 'local-ip',
|
||||
port: portFinderSync.getPort(3000),
|
||||
open: true,
|
||||
https: false,
|
||||
allowedHosts: 'all',
|
||||
hot: false,
|
||||
//watchFiles: ['./',],
|
||||
client:
|
||||
{
|
||||
logging: 'none',
|
||||
overlay: true,
|
||||
progress: false,
|
||||
},
|
||||
setupMiddlewares: function (middlewares, devServer) {
|
||||
const port = devServer.options.port;
|
||||
const https = devServer.options.https ? 's' : '';
|
||||
const localIp = ip.address();
|
||||
const domain1 = `http${https}://${localIp}:${port}`;
|
||||
const domain2 = `http${https}://localhost:${port}`;
|
||||
|
||||
console.log(`Project running at:\n - ${infoColor(domain1)}\n - ${infoColor(domain2)}`);
|
||||
|
||||
return middlewares;
|
||||
},
|
||||
proxy: { // used to be able to send cookies via fetch
|
||||
"/proxy": {
|
||||
target: "https://dev.popiplay.dev",
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
pathRewrite: { "^/proxy": "" }, // removes "/proxy" before redirection
|
||||
cookieDomainRewrite: "localhost",
|
||||
|
||||
// dynamic replace
|
||||
router: (req) => {
|
||||
const cookieHeader = req.headers.cookie || "";
|
||||
const match = cookieHeader.match(/proxy_target=([^;]+)/);
|
||||
const target = match ? ("https://" + decodeURIComponent(match[1])) : "https://dev.popiplay.dev";
|
||||
// console.error(`[proxy][router] ${req.method} ${req.url} -> ${target}`);
|
||||
// console.error(`[proxy][router] ${target}`);
|
||||
return target;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user