Yarn 4 Migration (#32253)

Migrates the Overleaf monorepo package manager from npm (v11) to Yarn 4 (v4.9.1) using node-modules linker mode.

GitOrigin-RevId: 50d32ab01955c15e29679eff9e9e9cfb897fab2d
This commit is contained in:
Anna Claire Fields
2026-04-28 10:32:52 +02:00
committed by Copybot
parent ed0fb0110a
commit 0d64a88a46
137 changed files with 39227 additions and 538 deletions

View File

@@ -4,7 +4,32 @@ import mongodb from 'mongodb'
import sinonChai from 'sinon-chai'
import chaiAsPromised from 'chai-as-promised'
// Workaround: vitest's built-in chai plugins register spy-related properties
// (e.g. callCount) as getter-only via addChainableMethod. sinon-chai then tries
// to overwrite them via addMethod (plain property assignment), which fails.
// Pre-delete the conflicting getter-only properties so the assignment succeeds.
const sinonChaiMethodProps = [
'callCount',
'calledBefore',
'calledAfter',
'calledImmediatelyBefore',
'calledImmediatelyAfter',
'calledOn',
'calledWith',
'calledOnceWith',
'calledWithExactly',
'calledOnceWithExactly',
'calledWithMatch',
'returned',
'thrown',
]
for (const name of sinonChaiMethodProps) {
if (Object.getOwnPropertyDescriptor(chai.Assertion.prototype, name)?.get) {
delete chai.Assertion.prototype[name]
}
}
chai.use(sinonChai)
chai.use(chaiAsPromised)
// ensure every ObjectId has the id string as a property for correct comparisons