Repository navigation
Conversation
This branch has not been deployed
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.
Rerousel's React 17/Snowpack implementation duplicates live slides, leaks timer ownership into state, relies on stale width/scroll calculations and fails current React children typing. The old lockfile reports 55 vulnerable packages, including six critical findings.
This breaking 1.0 rewrite targets React 18.3.1 and current React 19. It uses native scrolling over one live copy of each slide, preserving refs, IDs, state and form values. Looping uses an explicit instant boundary reset. The core has zero runtime dependencies and measures 1,522 bytes gzipped, with a 1,600-byte CI ceiling. Navigation remains app-owned; the core adds keyboard/RTL support and pauses for focus, hover, reduced motion and hidden documents. Focus also disables scroll snapping to fix WebKit RTL input editing. Autoplay resumes when DOM/style changes create overflow and survives frequent parent renders; DOM membership and sizing changes are observed without restarting the timer for equivalent JSX.
The demo is replaced by a responsive developer playground with real interactive examples, copyable code, complete API docs and build-generated size data. Development dependencies are updated and the complete npm audit is clean. ESM/CJS entry points, matching declarations, release/migration docs and manual trusted-publishing CI replace the old publish-on-push setup.
Preview: https://6ae1095c47f11a93a3a52235--rerousel.netlify.app/
Validation: strict TypeScript and formatting; 24 unit tests on React 18.3.1 and 19.3.1; 36 core/demo browser checks across Chromium, Firefox, WebKit and mobile WebKit; a real Chromium touch swipe; axe WCAG checks with zero violations; responsive screenshots opened/reviewed at desktop, tablet and phone; packed ESM/CJS imports, Node SSR and both module-format type consumers; zero known vulnerabilities including dev dependencies.
npm 1.0 is not yet published and production Netlify remains unchanged. The preview is marked release-pending. Maintainer access is needed for upstream merge and npm publication; RELEASE.md contains the tested release path and verification limits. Marketing copy and a social asset are prepared; no social messages have been posted.
Upstream CI is currently unable to start: GitHub reports an account billing lock before any job steps run. An upstream owner must resolve it; local validation results above are separate from hosted CI.