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

Switch to pnpm package manager for frontend #2201

Open
ckcherry23 opened this issue May 12, 2024 · 0 comments
Open

Switch to pnpm package manager for frontend #2201

ckcherry23 opened this issue May 12, 2024 · 0 comments

Comments

@ckcherry23
Copy link
Member

What feature(s) would you like to see in RepoSense

Switch our frontend package manager from npm to pnpm for speed and space efficiency. With our recent move to Vite in #2178, we can continue optimizing our frontend tools for better developer experience and performance.

Is the feature request related to a problem?

npm uses flattened node_modules which makes it difficult to debug issues related to using implicit dependencies. pnpm on the other hand uses hard links and symlinks to a global content-addressable store with a tree-like dependency structure. This makes it impossible to use implicit dependencies in code. Moreover, this allows a dependency to only be saved once on the disk and reused across multiple projects. This in turn also boosts installation speeds. See more about npm vs pnpm.

If possible, describe the solution

Here's a migration guide for npm to pnpm. Note that the workspaces section may not be relevant as we currently do not use npm to manage a monorepo.

For this migration, the following files may need to be updated:

  • Gradle build file
  • Frontend's package.json
  • CI/CD scripts
  • User Guide
  • Developer Guide

If applicable, describe alternatives you've considered

Yarn v4 may also be an improvement over npm, and is a viable option to consider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

1 participant