Conversation
Rewrite the library as function components in strict TypeScript with a self-contained spring integrator on requestAnimationFrame, replacing react-motion and the 2017 CRA-ejected toolchain. Build with tsup (ESM + CJS + bundled .d.ts), test with vitest 4 and Testing Library (21 tests), CI on Node 20/22/24. Peer deps now react >=16.8, tested against React 19. Fixes #1: react-motion prop-type warnings are gone with the dependency. Fixes #4: movement runs on requestAnimationFrame, not a 75ms setTimeout. Fixes #5: fullHeight tracks window height in state instead of mutating the containerStyle prop, with a frozen-object regression test. Fixes #8: TypeScript declarations ship with the package. Fixes #9: the deprecated babel-preset-stage-0 era toolchain is removed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
adamcwade
added a commit
that referenced
this pull request
Jun 11, 2026
Modernize: TypeScript, hooks, rAF springs, tests, fixes for all open issues
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.
What this does
Full modernization of the library, closing every open issue.
Library rewrite
ParallaxMousemove.Layer, same props, same springSettings numbers)disabledpropIssues fixed
fullHeightkeeps height in state instead of mutating thecontainerStyleprop; a regression test renders with a frozen style object and resizesdist/index.d.ts, exported prop types)Toolchain
exportsmap,sideEffects: falsenpm audit: 0 vulnerabilitiesVerified
tsc --noEmitclean, build emits ESM/CJS/DTS🤖 Generated with Claude Code