Skip to content

Rerousel 1.0: tiny React 18/19 core and live playground - #14

Draft
nerooc wants to merge 3 commits into
aexol-studio:masterfrom
nerooc:codex/rerousel-modernization
Draft

nerooc wants to merge 3 commits into
aexol-studio:masterfrom
nerooc:codex/rerousel-modernization

Conversation

@nerooc

@nerooc nerooc commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant