Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-44593

Upgrade to React 16

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • blueocean-plugin
    • None

      We are currently running 15.3.2.

      The release notes for 15.4 look straightforward:
      https://facebook.github.io/react/blog/2016/11/16/react-v15.4.0.html

      • A quick audit of the code base shows that we are already using ReactDOM.render instead of React.render in the handful of places we use it (blueocean-web and extension point code). I don't think this will require any changes.

      For 15.5, there are a few things to look at it:
      https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html

      • Handle the prop types change, which involves tweaking an import statement in around 100 or so files.
      • React.createClass change won't affect us since we use ES6 classes
      • Add new lib from "react-transition-group" and update imports (used in < 5 places)
      • We use "react-addons-update" in Capability.jsx but that component appears to no longer be in use, as the newer "CapabilityAugmenter" code adds in the data in the Fetch stack and the "capable" util function is used instead. We should probably just remove Capability and "react-addons-update"
      • For test-utils stuff, we only use it directly in a few unit tests in dashboard; those should probably get ported to enzyme for consistency. However IIRC enzyme still requires test utils as a peerDep, so we might need to upgrade Enzyme to the latest version so that it plays nice. Looks like there are some open issues with respect to Enzyme: https://github.com/facebook/react/issues/9384

      For 15.6,
      https://facebook.github.io/react/blog/2017/06/13/react-v15.6.0.html

      For 16.0
      https://facebook.github.io/react/blog/2017/09/26/react-v16.0.html

            Unassigned Unassigned
            michaelneale Michael Neale
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: