Skip to content

Conversation

@Duncan-Brain
Copy link
Collaborator

@Duncan-Brain Duncan-Brain commented Nov 16, 2025

Description

This one was quick to make so I tested it after doing the node upgrade. Maybe it is a good time to do it too since we are already watching for node issues.

It came about as a result of being interested in installing shared as a package (npm i ../packages/shared). But that is not too important yet.

Still open to Navs PR: #3523 -- but until we decide to do that .. consistency is nice and pnpm is still kind of annoying for me as the main reason I might be interested in getting this merged -- we all agreed in the tech debt survey on slack shown in the jira ticket 😛...two years ago probably .

Anyways.. Notes:

  • The core reason to use pnpm is faster installs in monorepos -- thing is... there are not many shared dependencies between our packages that are not dev related (typescript, eslint).

    • So it seems like there is almost zero benefit on prod, the main benefit is locally on fresh installs and maybe in CI (if we use the same test runnner for backend and frontend jobs it could be a matter of minutes saved) So optimize that we could do something like (I have not yet):
scripts": { 
	"dev:install": "npm install --install-strategy=linked", 
	"ci:install": "npm ci --install-strategy=linked", 
	"prod:install": "npm ci --omit=dev" // hoisted is fine 
}
  • You will also note the overrides in package.json have increased -- my understanding is that pnpm hides this well but essentially these sort of highlight packages that are....fairly deprecated or out of date so I don't mind that extra higlighting in the package lock.

Jira link: LF-3331

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Passes test case
  • UI components visually reviewed on desktop view
  • UI components visually reviewed on mobile view
  • Other (please explain)

Checklist:

  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • The precommit and linting ran successfully
  • I have added or updated language tags for text that's part of the UI
  • I have ordered translation keys alphabetically (optional: run pnpm i18n to help with this)
  • I have added the GNU General Public License to all new files

"react": "$react",
"react-dom": "$react-dom"
},
"react-table": {
Copy link
Collaborator Author

@Duncan-Brain Duncan-Brain Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is that pnpm ignores peer conflicts automatically to force a single version (what this override does). For example without this override you will see this:

Screenshot 2025-11-17 at 8 38 01 AM

"lerna": "^5.0.0",
"lint-staged": "^13.2.2",
"prettier": "^2.8.8"
"lint-staged": "^12.5.0",
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linting was failing to to spawn prettier. Matching the versions in our other packages (3.50, 12.5.0) Seems to help.

@Duncan-Brain Duncan-Brain marked this pull request as ready for review November 17, 2025 16:01
@Duncan-Brain Duncan-Brain requested review from a team as code owners November 17, 2025 16:01
@Duncan-Brain Duncan-Brain requested review from kathyavini and removed request for a team November 17, 2025 16:01
@Duncan-Brain Duncan-Brain self-assigned this Dec 2, 2025
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.

2 participants