refactor: extract scheduleNext() helper in the heartbeat - #29
Merged
Conversation
Deduplicate the setTimeout + unref scheduling (initial beat and recursive reschedule shared it) into scheduleNext(), and use function declarations for beat/scheduleNext so their mutual reference is hoisting-safe. No behavior change. Mirrors the same cleanup applied in @harperfast/nextjs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request refactors the heartbeat mechanism in src/buildLock.ts by extracting the scheduling logic into a reusable scheduleNext helper function and converting the beat arrow function into a standard function declaration. This removes duplication and improves code readability. There are no review comments, so I have no feedback to provide.
|
🎉 This PR is included in version 1.1.6 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Small follow-up to #26 (which merged as 1.1.5). A code-review pass on the equivalent nextjs change (HarperFast/nextjs#55) suggested tidying the heartbeat helper; applying the same here to keep the two plugins' build locks in sync.
setTimeout+unref()scheduling was duplicated (initial beat + recursive reschedule) — extracted into ascheduleNext()helper.beat/scheduleNextare now function declarations so their mutual reference is hoisting-safe.No behavior change.
npm test34/34 pass,prettier --checkclean.🤖 Generated with Claude Code