Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build] Determine how we want to manage package lock files #7847

Open
2 tasks
unlikelyzero opened this issue Sep 16, 2024 · 1 comment
Open
2 tasks

[Build] Determine how we want to manage package lock files #7847

unlikelyzero opened this issue Sep 16, 2024 · 1 comment
Labels
type:maintenance tests, chores, or project maintenance

Comments

@unlikelyzero
Copy link
Collaborator

unlikelyzero commented Sep 16, 2024

Breaking out of here https://github.com/nasa/openmct/pull/7837/files#r1755442175

Summary

We implemented npm workspaces in 4.0.0 for the e2e project. This is our first use of npm workspaces.

It looks as though npm workspaces do not natively support package lock npm/rfcs#554. To summarize:

  • When building distributables and artifacts it is faster to have a unique package-lock per workspace
  • npm ci tooling is built to ignore workspace package-locks
  • pnpm has support for workspace package-locks
  • lerna has built-in to support for workspace package-locks

There are some workarounds that exist to create a lerna style experience, but I think we should avoid those until we understand the maintenance costs of rolling our own implementation or adopting another project like lerna.

  • Should we use a workspace package-lock.json for /e2e/?
  • Should we use a package-lock.json for plugins/persistence/couchdb?
@unlikelyzero unlikelyzero added the type:maintenance tests, chores, or project maintenance label Sep 16, 2024
@unlikelyzero unlikelyzero changed the title [Build] Determine if we should be using a single package-lock.json for our 3 package.json [Build] Determine how we want to manage package lock files Sep 16, 2024
@evenstensberg
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:maintenance tests, chores, or project maintenance
Projects
None yet
Development

No branches or pull requests

2 participants