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

Production build does not work for Safari 10 due to Safari bug. Fix available. #3280

Closed
satyavh opened this issue Oct 14, 2017 · 3 comments
Closed

Comments

@satyavh
Copy link
Contributor

satyavh commented Oct 14, 2017

There's a bug in Safari 10, it throws on uglified code
https://bugs.webkit.org/show_bug.cgi?id=171041

There's a fix as well, but Create React App does not implement the fix
https://github.com/mishoo/UglifyJS2/tree/harmony#mangle-options

The result is that it is very likely that a production build created by npm run build does not run on Safari. At least ours does not (mvp.giveth.io)

How to update the uglify settings?

@Timer
Copy link
Contributor

Timer commented Oct 15, 2017

I'm not sure I understand; Safari 10 throws on very specific minified code (based on the issue you linked).

That specific code being a for (let a of ...) { ... }; we don't support minifying ES6 (i.e. let), so I don't understand how this flag would fix the error you are experiencing [because it can't happen in our setup].

Could you please put together a minimal reproduction case?
I'd like to understand this error more before flipping flags.

@Timer
Copy link
Contributor

Timer commented Oct 15, 2017

Are you ejected? What version of react-scripts are you on?

Please follow the issue template.

@satyavh
Copy link
Contributor Author

satyavh commented Oct 16, 2017

No we didn't eject, but I got to the bottom of this and turns out we adjusted the react-script to support minifying ES6, by updating to "uglifyjs-webpack-plugin": "^1.0.0-beta.2"

Closing this issue now. Sorry for the confusion.
But now at least you know updating that plugin will break builds in Safari :-)

@satyavh satyavh closed this as completed Oct 16, 2017
kellyrmilligan added a commit to kellyrmilligan/create-react-app that referenced this issue Oct 31, 2017
* master: (32 commits)
  Publish
  Reorder publishing instructions
  Changelog for 1.0.16 (facebook#3376)
  Update favicon description (facebook#3374)
  Changelog for 1.0.15 (facebook#3357)
  Replace template literal; fixes facebook#3367 (facebook#3368)
  [email protected]
  Publish
  Add preflight CWD check for npm (facebook#3355)
  Stop using `npm link` in tests (facebook#3345)
  Fix for add .gitattributes file facebook#3080 (facebook#3122)
  Mention that start_url needs to be "." for client side routing
  start using npm-run-all to build scss and js (facebook#2957)
  Updating the Service Worker opt-out documentation (facebook#3108)
  Remove an useless negation in registerServiceWorker.js (facebook#3150)
  Remove output.path from dev webpack config (facebook#3158)
  Add `.mjs` support (facebook#3239)
  Add documentation for Enzyme 3 integration (facebook#3286)
  Make uglify work in Safari 10.0 - fixes facebook#3280 (facebook#3281)
  Fix favicon sizes value in manifest (facebook#3287)
  ...
suutari-ai referenced this issue 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 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants