1.0.2 • Published 7 years ago
babel-plugin-component-did-catch-source v1.0.2
babel-plugin-component-did-catch-source
Add fiber source to
componentDidCatchinfo argument.
Installation
npm install --save-dev babel-plugin-component-did-catch-sourceThe Problem
Need access to the source fiber but react's componentDidCatch does not provide it. Maintaining a fork of React is not as flexible as a compile time change.
Example
Before
class ErrorBoundary extends Component {
componentDidCatch(error, { componentStack }) {
errorLogger(componentStack)
}
}After
class ErrorBoundary extends Component {
componentDidCatch(error, { componentStack, source }) {
const { props, state } = source.stateNode
errorLogger(componentStack, props, state)
}
}Usage
Via .babelrc.js (Recommended)
.babelrc
{
"env": {
"production": {
"plugins": ["component-did-catch-source"]
}
}
}Via CLI
babel --plugins component-did-catch-source script.jsVia Node
require('babel-core').transform('code', {
plugins: [
'component-did-catch-source',
],
});Options
None yet
Notes
This plugin will likely only work with v16 of React.
License
MIT