A type-safe React component for handling errors in Chakra UI applications, providing a fallback UI when something goes wrong.
- Graceful Error Handling - Prevents your application from crashing and provides a user-friendly error message.
- Customizable - Easily customize the appearance of the error fallback to match your application's theme.
- Developer Friendly - Provides detailed error information in development mode to help with debugging.
- SSR Compatible - Works seamlessly with server-side rendering.
- Expanded Stack Frames - Stack frames are automatically expanded for better readability. This feature requires
build.sourcemap=truein your Vite configuration to function correctly. - Colorized Stack Traces - Stack traces are colorized to improve readability and quickly identify different parts of the trace.
npm install @rm-hull/chakra-error-fallback
# or
yarn add @rm-hull/chakra-error-fallbackWrap your application or a part of it with the ErrorBoundary component from react-error-boundary and provide the ErrorFallback component to the fallbackRender prop.
import { ErrorBoundary } from "react-error-boundary";
import { ErrorFallback } from "@rm-hull/chakra-error-fallback";
import { ChakraProvider } from "@chakra-ui/react";
function App() {
return (
<ChakraProvider>
<ErrorBoundary FallbackComponent={ErrorFallback}>
<YourAppComponent />
</ErrorBoundary>
</ChakraProvider>
);
}See the Storybook for further usage details.
This project uses Changesets to manage versioning and automated npm publishing.
-
Create a changeset on your feature branch
When you’ve made changes you want to release, first create a new branch (not on
main):git checkout -b feature/my-change
Make your changes, then run:
yarn changeset
You’ll be prompted to:
- Choose the type of version bump (patch, minor, or major)
- Write a short summary of the change
This command creates a markdown file in the
.changeset/directory describing your upcoming release. -
Commit and push your feature branch
git add . git commit -m "feat: A short description of the change" git push -u origin feature/my-change
-
Merge the feature branch into
main- Once your PR is reviewed, merge it into
main. The.changesetfile must be present inmainfor the next step.
- Once your PR is reviewed, merge it into
-
Automatic version bump and publish
-
When changes are pushed to
main, GitHub Actions will automatically:- Build the package
- Apply version bumps based on the
.changesetfile - Update the changelog
- Publish the new version to npm as
@rm-hull/chakra-error-fallback
-
-
That's it! Your package is now live on npm with an updated version and changelog.
- The npm publish step is automated via GitHub Actions (
.github/workflows/ci.yml). - Ensure your
NPM_TOKENsecret is configured in the repository settings under Settings → Secrets → Actions. - Changesets should always be created on feature branches, not directly on
main. - No pull requests are created for version bumps; merging your feature branch into
maintriggers the release automatically.