This adds basic intellisense for code completion and function signatures using the Python `jedi` package running in a Pyodide environment.
The name property is inherited from Error and has a type of string. But our CustomError ensures that the name is restricted to the type of T. This causes compiler errors, so we had to enable a babel plugin to support it.
Since we aren't using react-scripts any more, craco doesn't do anything. This merges the craco config into the config created by `yarn eject`.