Skip to content

Repository files navigation

react-action-guard

CI License: MIT

Coordinate shared UI interaction locks across complex React forms and workflows: duplicate-submit protection, conflicting actions, and navigation-sensitive state, all resolved through shared scopes with automatic lifecycle cleanup.

This is a pnpm workspace monorepo. Each package below still ships and versions independently on npm.

Packages

Package Version Description
@okyrychenko-dev/react-action-guard npm Core: UI blocking with priorities, scopes, and automatic cleanup
@okyrychenko-dev/react-action-guard-ui npm UI-agnostic guarded control primitives (buttons, links, fields, groups)
@okyrychenko-dev/react-action-guard-tanstack npm TanStack Query integration: automatic blocking during queries/mutations
@okyrychenko-dev/react-action-guard-router npm Navigation blocking for React Router, TanStack Router, and Next.js
@okyrychenko-dev/react-action-guard-devtools npm Visualization and debugging of blocking state

See each package's own README for installation and usage. Full docs: react-action-guard-docs.

Package Dependency Flow

react-zustand-toolkit (separate repo, foundation)
  ↓
react-action-guard (packages/core)
  ↓
├─ react-action-guard-ui        (packages/ui)
├─ react-action-guard-tanstack  (packages/tanstack)
├─ react-action-guard-router    (packages/router)
└─ react-action-guard-devtools  (packages/devtools)

Development

pnpm install       # install all workspace packages
pnpm run build     # build all packages (topological order)
pnpm run test      # run all test suites
pnpm run typecheck
pnpm run lint
pnpm run check     # lint + typecheck + test + build

Scope a command to one package with pnpm's --filter, e.g. pnpm --filter @okyrychenko-dev/react-action-guard run test.

Releasing

This repo uses Changesets for independent per-package versioning. Run pnpm changeset in a PR that changes a package's public behavior, describe the change, and pick a bump type. Merging the PR opens (or updates) a "Version Packages" PR with the version bumps and changelog entries applied; merging that PR publishes the affected packages to npm.

License

MIT © Oleksii Kyrychenko

About

Declarative UI action blocking for React applications with priorities, scopes, and automatic cleanup.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages