• 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

          [JENKINS-44593] Upgrade to React 16

          Michael Neale created issue -
          Michael Neale made changes -
          Epic Link New: JENKINS-35749 [ 171790 ]
          Michael Neale made changes -
          Link New: This issue is blocked by JENKINS-42602 [ JENKINS-42602 ]
          James Dumay made changes -
          Link New: This issue is duplicated by JENKINS-43808 [ JENKINS-43808 ]
          James Dumay made changes -
          Sprint Original: Blue Ocean 1.3-beta-2 [ 296 ] New: Blue Ocean 1.4 [ 311 ]
          James Dumay made changes -
          Rank New: Ranked lower
          Cliff Meyers made changes -
          Summary Original: Upgrade to react 15.5 (or 16, if available at time) New: Upgrade to React 16
          Cliff Meyers made changes -
          Description Original: To avoid straying too far behind thebleeding edge, an upgrade (every 6 to 12 months) to react is warranted. 

           

          The challenge here will be to any breaking api changes (There is a very very minor one in 15.5) and their impact on any published plugins - this must be taken into consideration (solutions may mean fixing all plugins, or providing a shim api to insulate). 

           

          React v16 will come with significant performance improvements. 
          New: 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
          James Dumay made changes -
          Sprint Original: Blue Ocean 1.5 - candidates [ 311 ]
          James Dumay made changes -
          Rank New: Ranked higher

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

              Created:
              Updated: