Topcoder React Components - Migrate to React 16

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Migrate react components to React 16.

Project Background

Topcode Connect keeps reusable components in a separate library, called react-components. We are going to migrate Connect App to use React 16 instead of 15. As it’s too complex to migrate both projects together we will first update the “react-components” library to use React 16. 

Technology Stack

  • React

  • JavaScript

  • CoffeeScript

Code access

The work for this challenge has to be done in one repository:
- React Components repo https://github.com/appirio-tech/react-components feature/connectv2-react16 branch, commit 9cf9c4726939f89e15d7eca5ba63f7492f13a2f6 or later.

Individual requirements

  • Update libraries “react” and “react-dom” to the version 16.4.1 in “react-components”.

  • We want all components inside “react-components” to work the same as before after upgrading to React 16.

  • You can update other dependencies versions if necessary.

  • You can update other dependencies code if they belong to Topcoder and create patches for other Topcoder repositories if it’s absolutely required.

  • You can update the inner code of components if any changes are required after updating to React 16. But it’s preferable that their usage stays the same as now unless it is impossible. So if we already use them somewhere we don’t have to update how we call them.

We can run a demo of components inside react-components using the command “npm run dev”. It demonstrates the work of multiple components, but not all.

  1. The highest priority should be given to the components which are used in Connect App. The list of such components is provided on the forum and these components must be updated to work with React 16.

  2. Other components also should be updated to work with React 16, but if some component that is not used by Connect App is very hard to make to use React 16, you may raise a question on the forum and we will consider excluding it from the scope.
    Anyway, first update components that are used by Connect App.

General requirements

  • Components inside “react-components” shouldn’t produce any warnings in the browser console, unless the warnings come from third-party libraries.

  • No lint errors.

  • Git patch should be without errors and warnings.



Final Submission Guidelines

  • Patch to the feature/connectv2-react16 branch of React Components repo.

  • The winner would be required to raise a PR to the repository.

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30106588