The React error boundary tailored to Stoplight needs, inspired by react-error-boundary.
- all the great features provided by react-error-boundary,
- built-in error reporting powered by Sentry,
- supports recovering,
- fallback component can try to recover error boundary.
Supported in modern browsers and node.
# latest stable
yarn add @stoplight/react-error-boundaryYou can either make use of:
- withErrorBoundary HOC
import{withErrorBoundary}from'@stoplight/react-error-boundary';constSchemaViewer: React.FunctionComponent<{schema: unknown}>=({ schema })=>{if(typeofschema!=='object'||schema===null){thrownewError('Schema must be an object');}if(Object.keys(schema).length===0){thrownewError('Schema cannot be empty');}return<span>This is fine.</span>;};constMyWrappedComponent=withErrorBoundary(SchemaViewer,{recoverableProps: ['schema'],});constPage=()=>(<div><h1>Schema Viewer</h1><MyWrappedComponentschema={{}}/></div>);- ErrorBoundary component
import{ErrorBoundary}from'@stoplight/react-error-boundary';constSchemaViewer: React.FunctionComponent<{schema: unknown}>=({ schema })=>{if(typeofschema!=='object'||schema===null){thrownewError('Schema must be an object');}if(Object.keys(schema).length===0){thrownewError('Schema cannot be empty');}return<span>This is fine.</span>;};constPage=()=>(<div><h1>Schema Viewer</h1><ErrorBoundary><SchemaViewerschema={{}}/></ErrorBoundary></div>);- Clone repo.
- Create / checkout
feature/{name},chore/{name}, orfix/{name}branch. - Install deps:
yarn. - Make your changes.
- Run tests:
yarn test.prod. - Stage relevant files to git.
- Commit:
yarn commit. NOTE: Commits that don't follow the conventional format will be rejected.yarn commitcreates this format for you, or you can put it together manually and then do a regulargit commit. - Push:
git push. - Open PR targeting the
masterbranch.