|
|
@@ -0,0 +1,31 @@
|
|
|
+#!/usr/bin/env node
|
|
|
+
|
|
|
+/**
|
|
|
+ * A script that overrides some of the create-react-app build script configurations
|
|
|
+ * in order to disable code splitting/chunking and rename the output build files so
|
|
|
+ * they have no hash. (Reference: https://mtm.dev/disable-code-splitting-create-react-app).
|
|
|
+ *
|
|
|
+ * This is crucial for getting React webview code to run because VS Code expects a
|
|
|
+ * single (consistently named) JavaScript and CSS file when configuring webviews.
|
|
|
+ */
|
|
|
+
|
|
|
+const rewire = require("rewire")
|
|
|
+const defaults = rewire("react-scripts/scripts/build.js")
|
|
|
+const config = defaults.__get__("config")
|
|
|
+
|
|
|
+// Disable code splitting
|
|
|
+config.optimization.splitChunks = {
|
|
|
+ cacheGroups: {
|
|
|
+ default: false,
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
+// Disable code chunks
|
|
|
+config.optimization.runtimeChunk = false
|
|
|
+
|
|
|
+// Rename main.{hash}.js to main.js
|
|
|
+config.output.filename = "static/js/[name].js"
|
|
|
+
|
|
|
+// Rename main.{hash}.css to main.css
|
|
|
+config.plugins[5].options.filename = "static/css/[name].css"
|
|
|
+config.plugins[5].options.moduleFilename = () => "static/css/main.css"
|