From d6ae8829b6c27b2306dc683017ecb7ba3483450c Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Mon, 21 Aug 2017 17:11:47 -0700 Subject: [PATCH] In HMR, don't rely on default JsonSerializer settings. Fixes #688 --- .../Webpack/WebpackDevMiddleware.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs b/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs index ef8ac00..190fb49 100644 --- a/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs +++ b/src/Microsoft.AspNetCore.SpaServices/Webpack/WebpackDevMiddleware.cs @@ -15,6 +15,12 @@ namespace Microsoft.AspNetCore.Builder { private const string DefaultConfigFile = "webpack.config.js"; + private static readonly JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings + { + ContractResolver = new CamelCasePropertyNamesContractResolver(), + TypeNameHandling = TypeNameHandling.None + }; + /// /// Enables Webpack dev middleware support. This hosts an instance of the Webpack compiler in memory /// in your application so that you can always serve up-to-date Webpack-built resources without having @@ -88,7 +94,7 @@ namespace Microsoft.AspNetCore.Builder }; var devServerInfo = nodeServices.InvokeExportAsync(nodeScript.FileName, "createWebpackDevServer", - JsonConvert.SerializeObject(devServerOptions, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() })).Result; + JsonConvert.SerializeObject(devServerOptions, jsonSerializerSettings)).Result; // If we're talking to an older version of aspnet-webpack, it will return only a single PublicPath, // not an array of PublicPaths. Handle that scenario.