From b67deb182a2d064eb78b921ef18f2366a169558f Mon Sep 17 00:00:00 2001 From: metehan Date: Sat, 25 May 2024 17:52:14 -0700 Subject: [PATCH] disable hot reload of metro bundler --- metro.config.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 metro.config.js diff --git a/metro.config.js b/metro.config.js new file mode 100644 index 0000000..b6eebad --- /dev/null +++ b/metro.config.js @@ -0,0 +1,36 @@ +const { getDefaultConfig } = require('@expo/metro-config'); + +module.exports = (async () => { + const config = await getDefaultConfig(__dirname); + + // Customize the config to disable Hot Module Replacement (Fast Refresh) + config.transformer = { + ...config.transformer, + enableBabelRCLookup: false, + enableBabelRuntime: false, + }; + + config.resolver = { + ...config.resolver, + sourceExts: [...config.resolver.sourceExts, 'cjs'], + }; + + config.server = { + ...config.server, + enhanceMiddleware: (middleware, server) => { + // Disable hot module replacement (HMR) + const originalSend = server._send; + server._send = function (req, res, ...args) { + if (req.url.includes('hot-update.json')) { + res.writeHead(404); + res.end(); + return; + } + originalSend.apply(this, [req, res, ...args]); + }; + return middleware; + }, + }; + + return config; +})();