Uh oh!
There was an error while loading. Please reload this page.
Convert react-error-overlay to React - #2515
Conversation
a97e090 to
59e421aComparegaearon
commented
Jun 11, 2017
Wow, thanks for tackling this! I'm a bit busy now but will review next time I get the chance. |
gaearon
commented
Jun 27, 2017
Hey, sorry for long time no review. I'm putting out some fires related to Node 8 and Windows but hoping to get back to this soon. In the meantime, do you want to try converting the compile-time overlay to this set of components as well? That was the original plan—right now there's too much duplication between them. |
tharakawj
commented
Jun 28, 2017
No problem. Yes. I was thinking to change the compile-time overlay as well. But later I thought to wait until I get feedback for this. Anyway, if this looks good I'll try that and update the PR. |
59e421a to
fd7c996Comparec1af487 to
5736b21Comparetharakawj
commented
Jul 9, 2017
@gaearon Updated PR with changes to compile-time overlay. I had to refactor several files and that's why more files have changed. Let me know if you need it to be a separate PR or anything to make it easier to review. I'm not sure why AppVeyor build has failed. Maybe we need to trigger the build manually again. |
gaearon
commented
Jul 9, 2017
Retrying. Fingers crossed! |
gaearon
commented
Jul 12, 2017
Looks like Flow is choking: This is because we use a version of |
tharakawj
commented
Jul 13, 2017
@gaearon Thanks for the tip. I'll update and see. |
* Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors.
5736b21 to
822a5f6Comparetharakawj
commented
Jul 15, 2017
🎉 @gaearon ready for the review. |
cr101
commented
Jul 17, 2017
@tharakawj Would it be possible to easily integrate |
gaearon
commented
Jul 18, 2017
It is already possible. Although API will change. |
gaearon
commented
Aug 26, 2017
I finally got the time to look into this. I think this is mostly good except for some minor things. I wanted to check—would you be willing to finish this up in response to review, or would you have somebody take over this? I understand it's been a long time and you might be busy or uninterested. In any case thanks for much for this! |
tharakawj
commented
Aug 27, 2017
@gaearon Yes! I'm here. Let's finish this up. |
| frameLink.appendChild(frameAnchor); | ||
| frame.appendChild(frameLink); | ||
| if (typeof onSourceClick === 'function') { |
There was a problem hiding this comment.
I think this part got lost. I can't click on the source code snippet but I used to be able to.
| } | ||
| function showCompileErrorOverlay(error: string) { | ||
| if (container == null) { |
There was a problem hiding this comment.
Shouldn't we check iframeReference instead? What if we call showCompileErrorOverlay() twice in a row before mountOverlayIframe callback returns? Wouldn't that result in two iframes being created?
gaearon
commented
Aug 28, 2017
I'll just get it in. #yolo |
gaearon
commented
Aug 28, 2017
Aaand it's out in |
jaredpalmer
commented
Aug 28, 2017
Aside from the path to the bundle being at static/js/bundle.js, what other assumptions does error overlay make about a React app? Want to use it outside of CRA. |
gaearon
commented
Aug 28, 2017
I don't think it does any. (And we probably want to get rid of that |
tharakawj
commented
Aug 28, 2017
@gaearon Nice! Yes please, I'm happy to contribute more. |
KyleAMathews
commented
Aug 28, 2017
Yeah would love to get this into Gatsby! |
gaearon
commented
Aug 28, 2017
Happy to take a PR if there's something that doesn't let it work out of the box for you. |
So I have a slightly modified version of the latest Thoughts? Build Errors ✅Runtime Errors ❌ |
gaearon
commented
Aug 28, 2017
Can you give me an example to look at? |
jaredpalmer
commented
Aug 28, 2017
The To fix it I added a - <script src="${assets.client.js}" defer></script>+ <script src="${assets.client.js}" crossorigin defer></script>That fixed it. jaredpalmer/react-error-overlay-razzle-bug#1 |
…react-app * 'master' of https://github.com/facebookincubator/create-react-app: (36 commits) Publish Changelog for 1.0.12 (react#3016) Relax React dep requirements Default Favicon lossless optimisation (react#2917) update babel-runtime dependency in react-error-overlay and react-scripts (react#2991) Convert react-error-overlay to React (react#2515) Bump react-dev-utils Fix module function name in error overlay (react#3012) Docs: debugging in WebStorm (react#2986) Fix docs for `printFileSizesAfterBuild` (react#2942) Remove Modulus from user guide (react#2948) Remove superfluous lodash usage (react#2938) Update README.md (react#2927) Publish Prepare for 1.0.11 release (react#2924) Update dev deps (react#2923) Update README.md Use env variable to disable source maps (react#2818) Make formatWebpackMessages return all messages (react#2834) Adjust the `checkIfOnline` check if in a corporate proxy environment (react#2884) ...
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
## 1.0.13 (September 2, 2017) #### 🐛 Bug Fix * `react-error-overlay` * [#3051](#3051) Fix case-sensitivity issue with upgrading the package version. ([@tharakawj](https://github.com/tharakawj)) * `react-dev-utils` * [#3049](#3049) Print filesize difference for chunks. ([@esturcke](https://github.com/esturcke)) * `react-scripts` * [#3046](#3046) Fix crash in development mode on IE11. ([@tharakawj](https://github.com/tharakawj)) #### 💅 Enhancement * `react-scripts` * [#3033](#3033) Add an empty mock for `child_process` to let some libraries compile. ([@McFlurriez](https://github.com/McFlurriez)) #### 🏠 Internal * `react-dev-utils`, `react-error-overlay` * [#3028](#3028) Make error overlay filename configurable. ([@jaredpalmer](https://github.com/jaredpalmer)) #### Committers: 4 - Anthony ([McFlurriez](https://github.com/McFlurriez)) - Erik J. Sturcke ([esturcke](https://github.com/esturcke)) - Jared Palmer ([jaredpalmer](https://github.com/jaredpalmer)) - Tharaka Wijebandara ([tharakawj](https://github.com/tharakawj)) ### Migrating from 1.0.12 to 1.0.13 Inside any created project that has not been ejected, run: ``` npm install --save --save-exact react-scripts@1.0.13 ``` or ``` yarn add --exact react-scripts@1.0.13 ``` ## 1.0.12 (August 28, 2017) #### 🐛 Bug Fix * `react-error-overlay` * [#3012](#3012) Fix module function name in error overlay. ([@gaearon](https://github.com/gaearon)) * `react-dev-utils` * [#2938](#2938) Remove superfluous lodash usage. ([@Timer](https://github.com/Timer)) #### 💅 Enhancement * `react-scripts` * [#2917](#2917) Optimize the size of default favicon. ([@sylvainbaronnet](https://github.com/sylvainbaronnet)) #### 📝 Documentation * `react-scripts` * [#2986](#2986) Docs: debugging in WebStorm. ([@prigara](https://github.com/prigara)) * [#2948](#2948) Remove Modulus from user guide. ([@Zertz](https://github.com/Zertz)) * [#2927](#2927) Update README.md. ([@tbassetto](https://github.com/tbassetto)) * `react-dev-utils` * [#2942](#2942) Fix docs for `printFileSizesAfterBuild`. ([@Kerumen](https://github.com/Kerumen)) #### 🏠 Internal * `react-error-overlay`, `react-scripts` * [#2991](#2991) Update `babel-runtime` dependency ([@christophehurpeau](https://github.com/christophehurpeau)) * `react-dev-utils`, `react-error-overlay`, `react-scripts` * [#2515](#2515) Convert `react-error-overlay` to React ([@tharakawj](https://github.com/tharakawj)) #### Committers: 9 - Christophe Hurpeau ([christophehurpeau](https://github.com/christophehurpeau)) - Dan Abramov ([gaearon](https://github.com/gaearon)) - Ekaterina Prigara ([prigara](https://github.com/prigara)) - Joe Haddad ([Timer](https://github.com/Timer)) - Pier-Luc Gendreau ([Zertz](https://github.com/Zertz)) - Sylvain Baronnet ([sylvainbaronnet](https://github.com/sylvainbaronnet)) - Tharaka Wijebandara ([tharakawj](https://github.com/tharakawj)) - Thomas Bassetto ([tbassetto](https://github.com/tbassetto)) - Yann Pringault ([Kerumen](https://github.com/Kerumen)) ### Migrating from 1.0.11 to 1.0.12 Inside any created project that has not been ejected, run: ``` npm install --save --save-exact react-scripts@1.0.12 ``` or ``` yarn add --exact react-scripts@1.0.12 ``` **Note:** there’s a [known issue](#3041) that might cause the project to not compile after upgrading. In this case, migrate straight to `1.0.13` which doesn’t have this issue.
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors
* Convert react-error-overlay to React * Update compile-time error overlay to use react-error-overlay components * Refactor react-error-overlay components to container and presentational components. * Make the compile-time error overlay a part of react-error-overlay package. * Use react-error-overlay as dependency in react-dev-utils to show compile-time errors. * Run Prettier * Move the function name fix into StackFrame itself * Fix clicking on source code snippet to open the code in editor * Use exact objects + minor style tweak * Don't linkify frames that don't exist on the disk * Fix lint * Consolidate iframe rendering logic * Remove circular dependency between react-dev-utils and react-error-overlay * Fix lint * Fix decoupling of react-dev-utils and react-error-overlay by moving middleware * Deduplicate identical errors




Proposed in #2100
Some points to discuss,
CodeBlockcomponent still depends on old DOM manipulation code anddangerouslySetInnerHTML. Any suggestions to make it better?buttonelements instead of clickable (tab clickable)divs with similar styling. Any downside of that?consumeEvent.js. Can you think of a better alternative to get the same behavior with React?