From 328cbde1c656ce2d5d3b209b834f617d11626590 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Sat, 22 Nov 2025 13:10:40 -1000 Subject: [PATCH 1/6] Refactor buildConsoleReplay to fix parameter ordering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix ESLint default-param-last rule violation by reordering parameters in buildConsoleReplay and consoleReplay functions. **Changes:** - Reorder consoleReplay parameters: numberOfMessagesToSkip comes first - Reorder buildConsoleReplay parameters: numberOfMessagesToSkip, customConsoleHistory, nonce - Update all call sites in serverRenderReactComponent.ts - Update Pro package streaming to use correct parameter order - Update tests to use new parameter order **Why:** ESLint enforces that optional parameters with defaults must come last. The previous order had customConsoleHistory (with default) before numberOfMessagesToSkip (with default), violating this rule. **Testing:** - ✅ Build passes: yarn run build - ✅ Linting passes: bundle exec rubocop && yarn run eslint - ✅ No breaking changes - all call sites updated 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- packages/react-on-rails-pro/src/streamingUtils.ts | 12 ++++++++++-- packages/react-on-rails/src/buildConsoleReplay.ts | 8 ++++---- .../react-on-rails/src/serverRenderReactComponent.ts | 8 ++++---- .../react-on-rails/tests/buildConsoleReplay.test.js | 6 +++--- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/packages/react-on-rails-pro/src/streamingUtils.ts b/packages/react-on-rails-pro/src/streamingUtils.ts index f4d6c76eec..d3d6c729a5 100644 --- a/packages/react-on-rails-pro/src/streamingUtils.ts +++ b/packages/react-on-rails-pro/src/streamingUtils.ts @@ -17,7 +17,7 @@ import { PassThrough, Readable } from 'stream'; import createReactOutput from 'react-on-rails/createReactOutput'; import { isPromise, isServerRenderHash } from 'react-on-rails/isServerRenderResult'; -import buildConsoleReplay from 'react-on-rails/buildConsoleReplay'; +import { consoleReplay } from 'react-on-rails/buildConsoleReplay'; import { createResultObject, convertToError, validateComponent } from 'react-on-rails/serverRenderUtils'; import { RenderParams, @@ -112,7 +112,15 @@ export const transformRenderStreamChunksToResultObject = (renderState: StreamRen const transformStream = new PassThrough({ transform(chunk: Buffer, _, callback) { const htmlChunk = chunk.toString(); - const consoleReplayScript = buildConsoleReplay(consoleHistory, previouslyReplayedConsoleMessages); + // Get unwrapped console replay JavaScript (not wrapped in