Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use production React version for bundled overlay #3267

Merged
merged 6 commits into from
Oct 11, 2017

Conversation

Timer
Copy link
Contributor

@Timer Timer commented Oct 11, 2017

No description provided.

@Timer Timer added this to the 1.0.15 milestone Oct 11, 2017
@gaearon
Copy link
Contributor

gaearon commented Oct 11, 2017

Before we ship this though, we need to ensure it doesn't cause React DevTools to think CRA dev mode is production. I don't think it can handle more than one call to it right now.

(Also, while we're talking about it, we should do a string replace on the bundle to make it "not see" React DevTools hook.)

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

I don't think we can use DefinePlugin on the index.js file, as that would strip the warning we're about to add in #3264. Only the iframe can be defineplugin'd & minified -- we can let index be minified & env'd by the bundler using the overlay.

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

Looks like we're still good about the development mode:
image

@gaearon
Copy link
Contributor

gaearon commented Oct 11, 2017

Can you check why we're still good? If it's just a call ordering issue then it's not great and can be fragile.

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

Ah, you're right I imagine it's just a call ordering issue [because our React is loaded before the overlay's React].

We can replace __REACT_DEVTOOLS_GLOBAL_HOOK__ with __THIS_VARIABLE_SHOULD_NOT_EXIST__ which will cause the overlay's react to think devtools just aren't present.

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

Actually, React lives in the iframe so it'd be completely isolated / always second -- but we should probably be safe and prevent successive calls to Devtools.

I added comments in the webpack config for our reasoning.

@gaearon
Copy link
Contributor

gaearon commented Oct 11, 2017

Actually, React lives in the iframe so it'd be completely isolated / always second

Oh I totally forgot about this. In this case carry on, it won't matter.

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

Going to wait for the bot to cut a release to test this before I merge [since I changed included files].

Remember we need to bump react-error-overlay by a major version next release.

@react-scripts-dangerous

Hello! I'm a bot that helps facilitate testing pull requests.

Your pull request (commit cc2f56b) has been released on npm for testing purposes.

npm i [email protected]
# or
yarn add [email protected]
# or
create-react-app [email protected] folder/

Note that the package has not been reviewed or vetted by the maintainers. Only install it at your own risk!

Thanks for your contribution!

@Timer
Copy link
Contributor Author

Timer commented Oct 11, 2017

Works nicely with the bot-cut release.

@Timer Timer merged commit 991b092 into facebook:master Oct 11, 2017
@Timer Timer deleted the bundle-react-properly branch October 11, 2017 22:16
datchley pushed a commit to Tandemly/create-react-app that referenced this pull request Oct 13, 2017
* `react-error-overlay` has no dependencies now (facebook#3263)

* `react-error-overlay` has no dependencies now (it's bundled)

* Use babel 6 for now

* Add external links to deployment services (facebook#3265)

* Add warning when using `react-error-overlay` in production (facebook#3264)

* Add a warning when running minified

* Add more robust check

* Update index.js

* Use production React version for bundled overlay (facebook#3267)

* Use production React version

* We cannot strip our own checks if production

* Keep the sourcemap during minify

* Prevent devtools pollution

* Add some comments

* sigh
datchley pushed a commit to Tandemly/create-react-app that referenced this pull request Oct 17, 2017
* `react-error-overlay` has no dependencies now (facebook#3263)

* `react-error-overlay` has no dependencies now (it's bundled)

* Use babel 6 for now

* Add external links to deployment services (facebook#3265)

* Add warning when using `react-error-overlay` in production (facebook#3264)

* Add a warning when running minified

* Add more robust check

* Update index.js

* Use production React version for bundled overlay (facebook#3267)

* Use production React version

* We cannot strip our own checks if production

* Keep the sourcemap during minify

* Prevent devtools pollution

* Add some comments

* sigh

* Fix dead link to Jest "expect" docs (facebook#3289)

Closes facebook#3291
matart15 pushed a commit to matart15/create-react-app that referenced this pull request Oct 19, 2017
…react-app

* 'master' of https://github.com/facebookincubator/create-react-app:
  Update README.md
  Fix dead link to Jest "expect" docs (facebook#3289)
  Use production React version for bundled overlay (facebook#3267)
  Add warning when using `react-error-overlay` in production (facebook#3264)
  Add external links to deployment services (facebook#3265)
  `react-error-overlay` has no dependencies now (facebook#3263)
  Add click-to-open support for build errors (facebook#3100)
  Update style-loader and disable inclusion of its HMR code in builds (facebook#3236)
  Update url-loader to 0.6.2 for mime ReDoS vuln (facebook#3246)
@gaearon gaearon mentioned this pull request Oct 30, 2017
datchley pushed a commit to Tandemly/create-react-app that referenced this pull request Dec 20, 2017
* `react-error-overlay` has no dependencies now (facebook#3263)

* `react-error-overlay` has no dependencies now (it's bundled)

* Use babel 6 for now

* Add external links to deployment services (facebook#3265)

* Add warning when using `react-error-overlay` in production (facebook#3264)

* Add a warning when running minified

* Add more robust check

* Update index.js

* Use production React version for bundled overlay (facebook#3267)

* Use production React version

* We cannot strip our own checks if production

* Keep the sourcemap during minify

* Prevent devtools pollution

* Add some comments

* sigh
suutari-ai referenced this pull request in andersinno/create-react-app-ai Jan 25, 2018
…pescript

* 'master' of https://github.com/wmonk/create-react-app-typescript: (265 commits)
  fix typo in changelog
  Update README For 2.13.0
  v2.13.0
  Remove tslint-loader from prod build (again)
  Include TypeScript as devDependency in boilerplate output
  Documented how to define custom module formats for the TypeScript compiler so that you can import images and other files (references wmonk#172)
  v2.12.0
  Update README For 2.12.0
  Update typescript to 2.6.2
  v2.11.0
  Update changelog for 2.11.0
  Fixed problem with tsconfig.json baseUrl and paths
  Update createJestConfig.js
  Update changelog for 2.10.0
  v2.10.0
  Readd transformIgnorePatterns
  Update react-dev-utils
  Update package.json dependencies
  Readd Missing raf Package
  Update JestConfig Creation
  Fix
  Fix Missing Variable
  Fix package.json
  Merge pull request wmonk#204 from StefanSchoof/patch-1
  Merge pull request wmonk#201 from StefanSchoof/patch-1
  Merge pull request wmonk#199 from DorianGrey/master
  Merge pull request wmonk#165 from johnnyreilly/master
  Publish
  Add 1.0.17 changelog (#3402)
  Use new WebpackDevServer option (#3401)
  Fix grammar in README (#3394)
  Add link to VS Code troubleshooting guide (#3399)
  Update VS Code debug configuration (#3400)
  Update README.md (#3392)
  Publish
  Reorder publishing instructions
  Changelog for 1.0.16 (#3376)
  Update favicon description (#3374)
  Changelog for 1.0.15 (#3357)
  Replace template literal; fixes #3367 (#3368)
  [email protected]
  Publish
  Add preflight CWD check for npm (#3355)
  Stop using `npm link` in tests (#3345)
  Fix for add .gitattributes file #3080 (#3122)
  Mention that start_url needs to be "." for client side routing
  start using npm-run-all to build scss and js (#2957)
  Updating the Service Worker opt-out documentation (#3108)
  Remove an useless negation in registerServiceWorker.js (#3150)
  Remove output.path from dev webpack config (#3158)
  Add `.mjs` support (#3239)
  Add documentation for Enzyme 3 integration (#3286)
  Make uglify work in Safari 10.0 - fixes #3280 (#3281)
  Fix favicon sizes value in manifest (#3287)
  Bump dependencies (#3342)
  recommend react-snap; react-snapshot isn't upgraded for React 16 (#3328)
  Update appveyor.cleanup-cache.txt
  Polyfill rAF in test environment (#3340)
  Use React 16 in development
  Use a simpler string replacement for the overlay
  Clarify the npm precompilation advice
  --no-edit
  Update `eslint-plugin-react` (#3146)
  Add jest coverage configuration docs (#3279)
  Update link to Jest Expect docs (#3303)
  Update README.md
  Fix dead link to Jest "expect" docs (#3289)
  v2.8.0
  Use production React version for bundled overlay (#3267)
  Add warning when using `react-error-overlay` in production (#3264)
  Add external links to deployment services (#3265)
  `react-error-overlay` has no dependencies now (#3263)
  Add click-to-open support for build errors (#3100)
  Update style-loader and disable inclusion of its HMR code in builds (#3236)
  Update url-loader to 0.6.2 for mime ReDoS vuln (#3246)
  Make error overlay to run in the context of the iframe (#3142)
  Upgrade to typescript 2.5.3
  Fix Windows compatibility (#3232)
  Fix package management link in README (#3227)
  Watch for changes in `src/**/node_modules` (#3230)
  More spec compliant HTML template (#2914)
  Minor change to highlight dev proxy behaviour (#3075)
  Correct manual proxy documentation (#3185)
  Improve grammar in README (#3211)
  Publish
  Fix license comments
  Changelog for 1.0.14
  BSD+Patents -> MIT (#3189)
  Add link to active CSS modules discussion (#3163)
  Update webpack-dev-server to 2.8.2 (#3157)
  Part of class fields to stage 3 (#2908)
  Update unclear wording in webpack config docs (#3160)
  Display pid in already running message (#3131)
  Link local react-error-overlay package in kitchensink test
  Resolved issue #2971 (#2989)
  Revert "run npm 5.4.0 in CI (#3026)" (#3107)
  Updated react-error-overlay to latest Flow (0.54.0) (#3065)
  Auto-detect running editor on Linux for error overlay (#3077)
  Clean target directory before compiling overlay (#3102)
  Rerun prettier and pin version (#3058)
  ...
@lock lock bot locked and limited conversation to collaborators Jan 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants