react/scripts/error-codes
Andrew Clark 875d05d553
Include full error messages in React Native build (#15363)
The React Native build does not minify error messages in production,
but it still needs to run the error messages transform to compile
`invariant` calls to `ReactError`. To do this, I added a `noMinify`
option to the Babel plugin. I also renamed it from
`minify-error-messages` to the more generic `transform-error-messages`.
2019-04-09 16:40:19 -07:00
..
__tests__ Include full error messages in React Native build (#15363) 2019-04-09 16:40:19 -07:00
codes.json Release 16.8.5 2019-03-22 16:47:59 +00:00
extract-errors.js Compile invariant directly to throw expressions (#15071) 2019-03-18 13:58:03 -07:00
invertObject.js Drop the year from Facebook copyright headers and the LICENSE file. (#13593) 2018-09-07 15:11:23 -07:00
README.md Include full error messages in React Native build (#15363) 2019-04-09 16:40:19 -07:00
transform-error-messages.js Include full error messages in React Native build (#15363) 2019-04-09 16:40:19 -07:00
Types.js Drop the year from Facebook copyright headers and the LICENSE file. (#13593) 2018-09-07 15:11:23 -07:00

The error code system substitutes React's error messages with error IDs to provide a better debugging support in production. Check out the blog post here.

  • codes.json contains the mapping from IDs to error messages. This file is generated by the Gulp plugin and is used by both the Babel plugin and the error decoder page in our documentation. This file is append-only, which means an existing code in the file will never be changed/removed.
  • extract-errors.js is an node script that traverses our codebase and updates codes.json. You can test it by running yarn build -- --extract-errors, but you should only commit changes to this file when running a release. (The release tool will perform this step automatically.)
  • transform-error-messages is a Babel pass that rewrites error messages to IDs for a production (minified) build.