Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2.59 KB

File metadata and controls

67 lines (48 loc) · 2.59 KB

Contributing to react-carousel-latest

Thanks for taking the time to contribute! This guide covers everything you need to get productive quickly.

Ways to contribute

  • 🐞 Report a bug — open an issue with the Bug report form (a minimal reproduction helps the most).
  • Request a feature — use the Feature request form.
  • 📖 Improve the docs — the documentation site lives in example/.
  • 🔧 Fix something — see the workflow below.

Project layout

src/
  core/         headless logic — useCarousel, reducer, autoplay/keyboard/swipe hooks
  components/   compound parts — Carousel.Track / Slide / Button / Dots / PlayPause
  context/      CarouselContext
  presets/      ready-made sliders — CardSlider, ImageSlider, SlicerSlider
  styles/       bundled base CSS
example/        the documentation site (Parcel)
scripts/        release tooling

Development setup

Requires Node 18+.

git clone https://github.com/droidbg/react-carousel.git
cd react-carousel
npm install

npm run build      # build the library (dual ESM/CJS + types)
npm run dev        # rebuild on change
npm run example    # run the docs site at http://localhost:1234

Before you open a PR

npm test           # typecheck + build (this is what CI runs)
npm run lint       # eslint
  • Keep changes focused; one logical change per PR.
  • Match the surrounding code style (TypeScript, no semicolon-free surprises — follow the existing files).
  • The library ships framework-free CSS — don't introduce Tailwind or other style dependencies into src/.
  • New public API needs types and a short doc entry in example/ where relevant.
  • Update CHANGELOG.md under an ## [Unreleased] heading.

Pull request process

  1. Fork and create a branch off main (e.g. feat/vertical-orientation).
  2. Make your change; ensure npm test and npm run lint pass.
  3. Open a PR against main with a clear description of what and why.
  4. A maintainer will review; please be responsive to feedback.

Commit messages

Use clear, imperative summaries (e.g. Add fade transition to Carousel). Conventional Commit prefixes (feat:, fix:, docs:) are welcome but not required.

Releases

Maintainers cut releases with npm run release (interactive: beta / stable / custom → npm publish + git tag + GitHub release).

By contributing, you agree that your contributions are licensed under the project's Apache License.