using System.Collections.Generic;
namespace Microsoft.AspNetCore.SpaServices.Webpack
{
///
/// Options for configuring a Webpack dev middleware compiler.
///
public class WebpackDevMiddlewareOptions
{
///
/// If true, hot module replacement (HMR) will be enabled. This automatically updates Webpack-built
/// resources (such as JavaScript, CSS, or images) in your web browser whenever source files are changed.
///
public bool HotModuleReplacement { get; set; }
///
/// If set, overrides the URL that Webpack's client-side code will connect to when listening for updates.
/// This must be a root-relative URL similar to "/__webpack_hmr" (which is the default endpoint).
///
public string HotModuleReplacementEndpoint { get; set; }
///
/// Overrides the internal port number that client-side HMR code will connect to.
///
public int HotModuleReplacementServerPort { get; set; }
///
/// If true, enables React-specific extensions to Webpack's hot module replacement (HMR) feature.
/// This enables React components to be updated without losing their in-memory state.
///
public bool ReactHotModuleReplacement { get; set; }
///
/// Specifies additional options to be passed to the Webpack Hot Middleware client, if used.
///
public IDictionary HotModuleReplacementClientOptions { get; set; }
///
/// Specifies the Webpack configuration file to be used. If not set, defaults to 'webpack.config.js'.
///
public string ConfigFile { get; set; }
///
/// The root path of your project. Webpack runs in this context.
///
public string ProjectPath { get; set; }
///
/// Specifies additional environment variables to be passed to the Node instance hosting
/// the webpack compiler.
///
public IDictionary EnvironmentVariables { get; set; }
///
/// Specifies a value for the "env" parameter to be passed into the Webpack configuration
/// function. The value must be JSON-serializable, and will only be used if the Webpack
/// configuration is exported as a function.
///
public object EnvParam { get; set; }
}
}