-
Couldn't load subscription status.
- Fork 31
feat: implement runtime package manager detection #164
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
base: main
Are you sure you want to change the base?
Conversation
|
This is nice idea!
|
| uninstall: remove, | ||
| un: remove, | ||
| detect, | ||
| "detect-runner": detectRunner, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice if we simplify to have nypm detect that displays both detection results.
| export type PackageManager = { | ||
| name: PackageManagerName; | ||
| command: string; | ||
| packageRunner?: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We might make it an array. It is a map of known args => package runner
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #164 +/- ##
===========================================
- Coverage 82.17% 60.00% -22.18%
===========================================
Files 6 5 -1
Lines 516 530 +14
Branches 71 91 +20
===========================================
- Hits 424 318 -106
- Misses 91 209 +118
- Partials 1 3 +2 ☔ View full report in Codecov by Sentry. |
This PR adds a
detectRuntimePackageManagerapi function to detect the current package manager in runtime using thenpm-config-user-agentenvironment variable. It also adds a refactor so thatargvparsing can be a safe fallback in the event that the environment variable is not set.The possible usecases for this API include
I'm currently marking this as a draft because I'd appreciate suggestions on how to implement tests for this new API.
References