Skip to content

feat(sources): Pinia and Redux persist adapters#31

Merged
SutuSebastian merged 9 commits into
mainfrom
feat/redux-pinia-sources
Jul 20, 2026
Merged

feat(sources): Pinia and Redux persist adapters#31
SutuSebastian merged 9 commits into
mainfrom
feat/redux-pinia-sources

Conversation

@SutuSebastian

Copy link
Copy Markdown
Contributor

Summary

  • Add ./sources/pinia (persistStore via $state = + detached $subscribe) and ./sources/redux (persistStore + root persistableReducer for classic + RTK).
  • Wire exports/peers/tsdown/typedoc, migrating + wrapping-stores docs, API nav, and minor changesets; retire ROI item feat: docs-adapters ROI audit — adapters, src/ refold, CI/supply-chain, harden passes #7.
  • Harden Redux footguns (DEV warn when hydrate is ignored; root-only wrap docs/tests) and expand Pinia/RTK coverage.

Test plan

  • bun test src/adapters/sources/pinia.test.ts src/adapters/sources/redux.test.ts
  • bun run typecheck && bun run build
  • Confirm ./sources/pinia and ./sources/redux appear in package exports / entry-points docs
  • Skim migrating guide redux + pinia sections for adapter call sites

Ship ./sources/redux so classic and RTK stores can hydrate via a private
set action; persistableReducer at the root avoids silent no-op hydrates.
Wire API nav + wrapping-stores recipe; drop shipped #7 from remaining-roi.
Tighten migrating leads + JSDoc gotchas; extend docs-voice source listing
order; docs:api/validate/build green.
DEV warn when setState/hydrate is ignored; document root-only
persistableReducer; cover createSlice, bad per-slice wrap, setup
round-trip, and detached $subscribe after effectScope.stop.
Detect ignored hydrate via unchanged getState() reference, not
payload inequality after dispatch.
Shorter migrating leads, drop first-party fluff, plain-root JSDoc wording,
clarify hero source-pill subset vs full source order.
@SutuSebastian SutuSebastian added the docs Public docs site (apps/docs) — merge deploys /persist via FTP label Jul 20, 2026
@changeset-bot

changeset-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 85f33f5

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@SutuSebastian, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 57 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f32ec219-15d8-458d-8b50-b872e826f7ea

📥 Commits

Reviewing files that changed from the base of the PR and between 3167b90 and 85f33f5.

⛔ Files ignored due to path filters (3)
  • apps/docs/public/brands/pinia.svg is excluded by !**/*.svg
  • apps/docs/public/brands/redux.svg is excluded by !**/*.svg
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (22)
  • .agents/skills/docs-voice/SKILL.md
  • .changeset/pinia-source-adapter.md
  • .changeset/redux-source-adapter.md
  • README.md
  • apps/docs/content/concepts/entry-points.mdx
  • apps/docs/content/guides/migrating.mdx
  • apps/docs/content/recipes/index.mdx
  • apps/docs/content/recipes/wrapping-stores.mdx
  • apps/docs/content/reference/api/index.mdx
  • apps/docs/content/reference/api/meta.ts
  • apps/docs/pages/_home/Seams.astro
  • apps/docs/pages/_home/source-snippets.ts
  • docs/architecture.md
  • docs/plans/remaining-roi.md
  • docs/roadmap.md
  • package.json
  • src/adapters/sources/pinia.test.ts
  • src/adapters/sources/pinia.ts
  • src/adapters/sources/redux.test.ts
  • src/adapters/sources/redux.ts
  • tsdown.config.ts
  • typedoc.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/redux-pinia-sources

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Complete the hero source-swap roster with brand icons and minimal
persistStore snippets, ordered before the custom escape hatch.
Use Any source (not custom source); include Pinia and Redux.
@SutuSebastian
SutuSebastian merged commit f7d4abc into main Jul 20, 2026
14 of 15 checks passed
@SutuSebastian
SutuSebastian deleted the feat/redux-pinia-sources branch July 20, 2026 20:18
@github-actions github-actions Bot mentioned this pull request Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Public docs site (apps/docs) — merge deploys /persist via FTP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant