cerner / terra-core

Terra offers a set of configurable React components designed to help build scalable and modular application UIs. This UI library was created to solve real-world issues in projects we work on day to day.
http://terra-ui.com
Apache License 2.0
183 stars 165 forks source link

React 15.5 upgrade #203

Closed Matt-Butler closed 7 years ago

Matt-Butler commented 7 years ago

The react 15.5 release was non-passive for our packages. React is currently locked to version 15.4.2

We need to update our packages to be compatible with react 15.5.

https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html

Limitations:

Matt-Butler commented 7 years ago

I started some of the 15.5.x upgrade here: https://github.com/cerner/terra-core/tree/react-15.5

bjankord commented 7 years ago

Looks like the enzyme PR to add compat with react 15.5 has been merged. Waiting on a release for that.

bjankord commented 7 years ago

Pull request for react-docgen is still open: https://github.com/reactjs/react-docgen/pull/172

Matt-Butler commented 7 years ago

The react-docgen issue has been closed

Matt-Butler commented 7 years ago

react-datepicker merged their fix

ryanthemanuel commented 7 years ago

They released a version of react-docgen (2.14.1) to fix the build issues we were seeing around their compiling changes (https://github.com/reactjs/react-docgen/issues/174). I believe that this should allow us to push to the appropriate version of react-docgen.

bjankord commented 7 years ago

The react-intl pr for adding react 15.5 compat has been merged. This should be our last blocker for us on adding react 15.5 compat to our components.

Matt-Butler commented 7 years ago

Releases to support 15.5 / 16

Matt-Butler commented 7 years ago

https://www.npmjs.com/package/react-addons-test-utils ^ This has also been deprecated.

To get our jest tests working again, we need to also install react-test-renderer. https://github.com/airbnb/enzyme/issues/875#issuecomment-296450234

Matt-Butler commented 7 years ago

I updated the react-datepicker dependency to 0.46. In this version, they added a new prop called disableDateAutoCorrection.

MichaelDeBoey commented 7 years ago

react-intl v2.3.0 is released 🙂

Matt-Butler commented 7 years ago

After updating react-intl to 2.3.0, all of our tests now pass.

When running the site locally, I am still seeing this warning:

Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

I will investigate which dependency is still causing this warning.

Matt-Butler commented 7 years ago

After going through this exercise, I think it might be a good idea to separate out each of our components into their own webpack bundle.

Matt-Butler commented 7 years ago

I had missed a couple proptypes. This branch is ready to upgrade to react-15.5: https://github.com/cerner/terra-core/tree/react-15.5

There are no longer warnings and all tests are passing.

Matt-Butler commented 7 years ago

After terra-time-input was merged into master, my tests are failing again. This is the issue:

I can't merge the pull request until that issue is resolved.

^ We have removed text-mask for now. Closing this issue.