Update cc-frontend to Node v16 - Phase 1: Identification

Update cc-frontend to Node v16 - Phase 1: Identification

 

Created Date

Jan 31, 2023

Target PI

PI2

Target Release

Mar 31, 2023

Jira Epic

https://economicmodeling.atlassian.net/browse/CC20-1868

Document Status

Committed

Epic Owner

@Micah Kramer

Stakeholder

Engineering Team(s) Involved

Career coach

PART 1

Customer/User Job-to-be-Done or Problem

Without updating the node version for this application, we may lack code features to build future product features with at the requested time, or worst case scenario, become developmentally locked completely.

 

Value to Customers & Users

The application will be able to continue to receive updates and new features reliably and more efficiently.

 

Value to Lightcast

This work begins the process of keeping our services regularly updated to a consolidated node version which streamlines our development process. (No version switching, no hang ups with package version issues, up to date packages for features and security updates, etc)

Target User Role/Client/Client Category

Internal developers.

 

Delivery Mechanism

No change should be seen by end users.

 

Success Criteria & Metrics

The cc-frontend services should run in production without noticeable changes.

 

Aspects that are out of scope (of this phase)

None

 

PART 2

Solution Description

Early UX (wireframes or mockups)

None

 

Non-Functional Attributes & Usage Projections

  • security updates and improvements

  • increased feature set

  • potential performance increases

  • cleaner/more up to date code which improves work efficiency and quality output

 

Dependencies

None

 

Legal and Ethical Considerations

yes

Have you thought through these considerations (e.g. data privacy) and raised any potential concerns with the Legal team?

High-Level Rollout Strategies

  • An initial issue will be started to push all packages to their highest version under node14/npm6. Then, Identify which packages are hard blockers for the jump to node15/npm7

  • Create issues identified in the above issue and find replacement packages, or make necessary code changes to remove each blocker

  • Update to node15/npm7. This Represents majority of success

  • Repeat process to node16. This represents final push and the end of remedial work

  • Create Regular node version update process

  • Using process, Update to node18/npm current. This proves our “Regular Update” process

 

Risks

Code changes may become expensive as many packages do not have alternatives, or have change significantly, and/or deal with areas of the code base that are heavy with tech debt (i.e. authentication/SSO)

 

Open Questions

None

 


Complete with Engineering Teams

 

Effort Size Estimate

3

Estimated Costs

Direct Financial Costs

Are there direct costs that this feature entails? Dataset acquisition, server purchasing, software licenses, etc.?

 

Team Effort

Each team involved should give a general t-shirt size estimate of their work involved. As the epic proceeds, they can add a link to the Jira epic/issue associated with their portion of this work.

Team

Effort Estimate (T-shirt sizes)

Jira Link

Team

Effort Estimate (T-shirt sizes)

Jira Link

Career Coach

Large

https://economicmodeling.atlassian.net/browse/CC20-1868

 

 

 

 

 

Related content