Skip to content

Conversation

@guillaumedomingues
Copy link

@guillaumedomingues guillaumedomingues commented Dec 16, 2025

This PR's purpose is to upgrade several dependencies due to security vulnerabilities that have emerged over time.

Development

I added a configuration for a VS Code DevContainer for development purposes.
This makes setting up dependencies much easier, and lets developers avoid the use of scripts to install them.

Developers will need to change paths in listwebserver's config.yml to work inside the container.

Dependency upgrades

C++ code dependencies were untouched

The more relevant upgrades (that required code changes) were

  • Node.js to v20,
  • React dependencies to v18,
  • Wavesurfer to v7.12
  • Typescript to v5.9
  • Mongoose to v6.13
  • Webpack dev server to v.5.2.1, this required using CRACO instead of react-app-rewired

Some component types were changed to any to avoid compilation issues due to the react upgrade, but this is a feeble change and should probably be revisited and addressed properly at a later time.

Leftover vulnerable dependencies:

  • parseuri in listwebserver, but it does not have a patched version,
  • qs in listwebserver > sdpoker > request > qs (yarn did not find this vulnerability until this year, will take a look at it if I have the time)

Developers should use this folder for their personal scripts/files
that should not be added to the repository
@guillaumedomingues guillaumedomingues force-pushed the gd/dev/setup branch 6 times, most recently from 8be47c8 to 92e8336 Compare December 19, 2025 09:12
guillaumedomingues and others added 23 commits January 6, 2026 15:42
Removed useWorkspaces option from lerna.json

The "useWorkspaces" option has been removed. By default lerna will resolve your packages using your package manager's workspaces configuration.
Alternatively, you can manually provide a list of package globs to be used instead via the "packages" option in lerna.json.

Added workspaces to package.json

Remove lerna bootstrap, add verbose logs
Histogram charts were going out of bounds, specifying a yDomain
range of [0,100] and removing stackOffset=true
fixes this
Security fixes:
- Critical (6->0): mongoose (6.13.6), form-data (2.5.4), url-parse (1.5.10)
- High (18->0): axios (1.8.2), multer (2.0.2), jsonwebtoken (9.0.0),
  follow-redirects (1.15.6), dicer (0.3.0)
- Moderate (54->13): nth-check (2.1.1), debug (4.3.4), webpack-dev-server
  (5.2.1), postcss (8.4.31), js-yaml (4.1.1), tmp (0.2.4)

Audit results: 91 vulnerabilities -> 16 (83% reduction)
Migrated to CRACO because react-app-rewired doesn't work with this
 version of webpack-dev-server.
After the change to use yarn workspaces we no longer need lerna.

Documentation was also updated to reflect this.

This change could be improved upon by adding scripts to run tests, etc from the project root
@guillaumedomingues guillaumedomingues marked this pull request as ready for review January 6, 2026 16:15
@guillaumedomingues
Copy link
Author

@pedro-alves-ferreira

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant