openculinary / frontend

The RecipeRadar Frontend is a recipe search and meal planning application
GNU Affero General Public License v3.0
13 stars 2 forks source link

Migrate from no-longer-maintained (?) Workbox library to Serwist #251

Closed jayaddison closed 8 months ago

jayaddison commented 9 months ago

Describe the reason for these changes and the problem that they solve

It looks like the Workbox library that we've been using to help build our application may no longer be maintained.

The interface and functionality Workbox provides have been stable, so there's been no urgent reason for us to look for alternatives, but it does have some static dependencies on other libraries where vulnerabilities are being uncovered, and although if we had complete confidence that we're not affected by those, then we could leave Workbox as a dependency, it's difficult to build that level of assurance.

As visible from the diff here, we're able to drop a good number of dependencies by doing this, and smaller surface area should generally infer longer-term safety when functionality is stable (fewer moving parts, more focus from developers, more likely to be adopted by other consumers thanks to improved auditability, ...).

$ git diff --stat maintenance/yarn-v4-migration -- yarn.lock
 yarn.lock | 2809 +++++++++++--------------------------------------------------------------------------------
 1 file changed, 336 insertions(+), 2473 deletions(-)

Briefly summarize the changes

  1. Migrate from workbox-* to the equivalent @serwist/* dependencies.
  2. Update our credits page accordingly.
  3. Update code references/constants that refer to Workbox.

How have the changes been tested?

  1. Local development testing.

List any issues that this change relates to N/A