react/scripts/error-codes
Sebastian Markbåge 10cc400184
Basic Fizz Architecture (#20970)
* Copy some infra structure patterns from Flight

* Basic data structures

* Move structural nodes and instruction commands to host config

* Move instruction command to host config

In the DOM this is implemented as script tags. The first time it's emitted
it includes the function. Future calls invoke the same function.

The side of the complete boundary function in particular is unfortunately
large.

* Implement Fizz Noop host configs

This is implemented not as a serialized protocol but by-passing the
serialization when possible and instead it's like a live tree being
built.

* Implement React Native host config

This is not wired up. I just need something for the flow types since
Flight and Fizz are both handled by the isServerSupported flag.

Might as well add something though.

The principle of this format is the same structure as for HTML but a
simpler binary format.

Each entry is a tag followed by some data and terminated by null.

* Check in error codes

* Comment
2021-03-11 12:01:41 -08:00
..
__tests__ Fix spelling errors and typos (#19138) 2020-06-15 19:59:44 -04:00
codes.json Basic Fizz Architecture (#20970) 2021-03-11 12:01:41 -08:00
extract-errors.js Use babel parser rather than Babylon in extract errors (#17988) 2020-02-06 12:46:32 +00: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 Fix link on error-codes/README.md (#16595) 2019-08-28 15:49:45 +01:00
transform-error-messages.js Pass prod error messages directly to constructor (#17063) 2019-10-11 09:10:40 -07:00
Types.js Update Flow to 0.84 (#17805) 2020-01-09 14:50:44 +00: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 extract-errors.
  • transform-error-messages is a Babel pass that rewrites error messages to IDs for a production (minified) build.