You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are trying to consolidate several packages into a Lerna monorepo. One of these is a Meteor application that requires Node 14, while the others require Node 18. Meteor additionally requires a node_modules directory within the project, which is why we settled on Yarn because it allows us to disable hoisting to the root. The file system layout looks something like this:
apps
meteor (Node 14)
app2 (Node 18)
app3 (Node 18)
packages
lib1
lib2
We are now pondering what the best way to approach this would be, because it occurred to us that we can't use Yarn workspaces, as Yarn would install Node modules that have been built against Node 18, which could break the Meteor application. Meteor bundles Node 14, so we do have access to Node 14 within the Meteor app.
Should we treat the Meteor app as completely separate and handle the others with Yarn? Or leave Yarn completely out of the picture and lean on the Nx part of Lerna more? Or are there other techniques in the Lerna/Nx ecosystem we could leverage?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We are trying to consolidate several packages into a Lerna monorepo. One of these is a Meteor application that requires Node 14, while the others require Node 18. Meteor additionally requires a
node_modules
directory within the project, which is why we settled on Yarn because it allows us to disable hoisting to the root. The file system layout looks something like this:We are now pondering what the best way to approach this would be, because it occurred to us that we can't use Yarn workspaces, as Yarn would install Node modules that have been built against Node 18, which could break the Meteor application. Meteor bundles Node 14, so we do have access to Node 14 within the Meteor app.
Should we treat the Meteor app as completely separate and handle the others with Yarn? Or leave Yarn completely out of the picture and lean on the Nx part of Lerna more? Or are there other techniques in the Lerna/Nx ecosystem we could leverage?
Beta Was this translation helpful? Give feedback.
All reactions