Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
react-transform-catch-errors
Advanced tools
React Transform that catches errors inside React components
A React Transform that catches errors inside render()
function and renders a React component with an error message instead.
It’s up to you to choose the React component to render an error message. For example, you may use redbox-react that imitates React Native “red screen of death”.
First, install the Babel plugin:
npm install --save-dev babel-plugin-react-transform
Then, install the transform:
npm install --save-dev react-transform-catch-errors
Finally, install the component for rendering errors, for example:
npm install --save-dev redbox-react
You may also use a custom component instead.
Now edit your .babelrc
to include extra.babel-plugin-react-transform
.
It must be an array of the transforms you want to use:
{
"presets": ["es2015", "stage-0"],
"env": {
// only enable it when process.env.NODE_ENV is 'development' or undefined
"development": {
"plugins": [["react-transform", {
"transforms": [{
"transform": "react-transform-catch-errors",
// now go the imports!
"imports": [
// the first import is your React distribution
// (if you use React Native, pass "react-native" instead)
"react",
// the second import is the React component to render error
// (it can be a local path too, like "./src/ErrorReporter")
"redbox-react"
// the third import is OPTIONAL!
// when specified, its export is used as options to the reporter.
// see specific reporter's docs for the options it needs.
// it will be imported from different files so it either has to be a Node module
// or a file that you configure with Webpack/Browserify/SystemJS to resolve correctly.
// for example, see https://github.com/gaearon/babel-plugin-react-transform/pull/28#issuecomment-144536185
// , "my-reporter-options"
]
}]
// note: you can put more transforms into array
// this is just one of them!
}]]
}
}
}
It is up to you to ensure that the transform is not enabled when you compile the app in production mode. The easiest way to do this is to put React Transform configuration inside env.development
in .babelrc
and ensure you’re calling babel
with NODE_ENV=development
. See babelrc documentation for more details about using env
option.
MIT
FAQs
React Transform that catches errors inside React components
The npm package react-transform-catch-errors receives a total of 48,956 weekly downloads. As such, react-transform-catch-errors popularity was classified as popular.
We found that react-transform-catch-errors demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.