Skip to content

Hard-to-upgrade backend dependencies #1090

@ktuite

Description

@ktuite

This issues collects some of the problems I ran into when updating dependencies for central-backend

Snapshot of % npm outdated

Package                Current   Wanted   Latest  Location                            Depended by
body-parser             1.20.3   1.20.4    2.2.1  node_modules/body-parser            central-backend
eslint                  8.57.1   8.57.1   9.39.1  node_modules/eslint                 central-backend
express                 4.21.2   4.21.2    5.2.1  node_modules/express                central-backend
htmlparser2              3.9.2    3.9.2   10.0.0  node_modules/htmlparser2            central-backend
http-proxy-middleware    2.0.9    2.0.9    3.0.5  node_modules/http-proxy-middleware  central-backend
knex                   0.21.21  0.21.21    3.1.0  node_modules/knex                   central-backend
luxon                    0.3.1    0.3.1    3.7.2  node_modules/luxon                  central-backend
minio                    8.0.4    8.0.4    8.0.6  node_modules/minio                  central-backend
mocha                   10.8.2   10.8.2   11.7.5  node_modules/mocha                  central-backend
nock                    13.5.6   13.5.6  14.0.10  node_modules/nock                   central-backend
oidc-provider            8.8.1    8.8.1    9.5.2  node_modules/oidc-provider          central-backend
openid-client            5.7.1    5.7.1    6.8.1  node_modules/openid-client          central-backend
pg                       8.8.0    8.8.0   8.16.3  node_modules/pg                     central-backend
pm2                      5.4.3    5.4.3   6.0.14  node_modules/pm2                    central-backend
streamtest               1.2.4    1.2.4    3.0.1  node_modules/streamtest             central-backend

body-parser 1->2

Saw a test failure that may have been related to handling an empty response. Functionality is part of express now. Changing this around and also trying to change http-proxy-middleware leads to issues found in this PR: getodk/central-backend#1703

http-proxy-middleware 2->3

Claude: In version 3, the API for creating proxy middleware has changed.

 - fakeFrontend.use(createProxyMiddleware('/v1', { target: backendUrl }));
 + fakeFrontend.use('/v1', createProxyMiddleware({ target: backendUrl }));

Trying this didn't play well with using express's body-parser, though.

eslint 8->9

Problem with eslint-config-airbnb-base expecting v7 or 8 and not having a newer version.

streamtest 1->3

API is pretty different and tests would need to change quite a bit.

###. pg 8.8->8.16

Exception during run: Error: Cannot find module '/Users/ktuite/Desktop/code/odk/central-backend/node_modules/pg/lib/type-overrides'
    at createEsmNotFoundErr (node:internal/modules/cjs/loader:1261:15)
    at finalizeEsmResolution (node:internal/modules/cjs/loader:1250:15)
    at resolveExports (node:internal/modules/cjs/loader:639:14)
    at Function._findPath (node:internal/modules/cjs/loader:728:31)
    at Function._resolveFilename (node:internal/modules/cjs/loader:1211:27)
    at Function._load (node:internal/modules/cjs/loader:1055:27)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
    at Module.require (node:internal/modules/cjs/loader:1311:12)
    at require (node:internal/modules/helpers:136:16)
    at Object.<anonymous> (/Users/ktuite/Desktop/code/odk/central-backend/node_modules/slonik/dist/src/routines/createTypeOverrides.js:7:42)
...

knex

Locked in.

minio 8.0.4 -> 8.0.6

see retry #1146 where we reverted minio. not sure if this changed again from .5 to .6 but I am not familiar enough with this problem to check it out

mocha 10 -> 11

changing this made running make test-db-migrations delete all the migration files

Metadata

Metadata

Assignees

Labels

backendRequires a change to the API servermaintenanceDependencies, recurring maintenance

Type

No type

Projects

Status

🕒 backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions