Update cc-frontend to Node v16 - Phase 1: Identification
Created Date | Jan 31, 2023 |
---|---|
Target PI | PI2 |
Target Release | Mar 31, 2023 |
Jira Epic | |
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
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 |
---|---|---|
Career Coach | Large | |
|
|
|