draw-game/frontend/preact.config.js

48 lines
1.7 KiB
JavaScript

import { resolve } from "path";
export default {
/**
* Function that mutates the original webpack config.
* Supports asynchronous changes when a promise is returned (or it's an async function).
*
* @param {object} config - original webpack config.
* @param {object} env - options passed to the CLI.
* @param {WebpackConfigHelpers} helpers - object with useful helpers for working with the webpack config.
* @param {object} options - this is mainly relevant for plugins (will always be empty in the config), default to an empty object
**/
webpack(config, env, helpers, options) {
config.module.rules[4].use.splice(1, 0, {
loader: "@teamsupercell/typings-for-css-modules-loader",
options: {
banner:
"// This file is automatically generated from your CSS. Any edits will be overwritten.",
disableLocalsExport: true
}
});
// Use any `index` file, not just index.js
config.resolve.alias["preact-cli-entrypoint"] = resolve(
process.cwd(),
"src",
"index"
);
config.resolve.alias["react"] = "preact/compat";
config.resolve.alias["react-dom"] = "preact/compat";
if (config.devServer){
config.devServer.proxy = [{
// proxy requests matching a pattern:
path: '/api/**',
// where to proxy to:
target: 'http://localhost:8000',
// optionally change Origin: and Host: headers to match target:
changeOrigin: true,
changeHost: true,
}];
}
}
};