diff --git a/src/dev-generation.ts b/src/dev-generation.ts index c4d30b6c..5cf1c51b 100644 --- a/src/dev-generation.ts +++ b/src/dev-generation.ts @@ -494,9 +494,11 @@ export const createReactRouterDevRuntime = ({ if (cssAssetsRemoved) { reloadAfterCssRemoval = !cssAssetsAdded; notifyCssAssetOwnershipChanged(); - } else if (webChanged && reloadAfterCssRemoval) { + } else if (cssAssetsAdded) { + if (reloadAfterCssRemoval) { + notifyCssAssetOwnershipChanged(); + } reloadAfterCssRemoval = false; - notifyCssAssetOwnershipChanged(); } } catch (cause) { rejectAttempt( diff --git a/tests/dev-generation.test.ts b/tests/dev-generation.test.ts index 500adfee..6a129382 100644 --- a/tests/dev-generation.test.ts +++ b/tests/dev-generation.test.ts @@ -406,6 +406,19 @@ describe('React Router development runtime', () => { cssOnlyChange, graphIdentity(removedCssWeb, node) ); + expect(onCssAssetOwnershipChanged).toHaveBeenCalledOnce(); + + const contentOnlyWeb = createCompilation('web'); + runtime.beginAttempt(); + captureWeb(runtime, contentOnlyWeb, 'without-css-content-edit', { + routes: { 'routes/about': [] }, + }); + await runtime.finishAttempt( + createGraphStats(contentOnlyWeb, node), + cssOnlyChange, + graphIdentity(contentOnlyWeb, node) + ); + expect(onCssAssetOwnershipChanged).toHaveBeenCalledOnce(); const readdedCssWeb = createCompilation('web'); runtime.beginAttempt();