-
Notifications
You must be signed in to change notification settings - Fork 2
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
DEPLOCK: Create initial Lockfile checker and generator #2
Comments
An alternative to detecting and checking which package ecosystem and lockfiles are needed would be to provide explicitly which package manager(s) are used in the project, likely in a scancode-config.yml file honored by SCIO and SCTK. We would then only need to maintain a map of package manager to required lockfiles and fail when these are not present. Then in SCTK and SCIO we could also focus the detection and parsing of package manifests and lockfiles to the subset reported to be in use in a given codebase. |
We have a few options:
Say the tool is called "genlock", then to generate a yarn lockfile for #3 I would like the tool to run a |
This tool should be used before a scan and should therefore have as few deps as possible.
|
There are many ways to get the resolved dependencies of a project. Some of these are:
Unless there is a locked, reproducible build process (backed by committed lockfiles as in 3.), all approaches are approximations of the dependency resolution. (Short of yet another approach with a binary, deployed code analysis)
Yet, 1,2,4, and 5 all require some extensive setup or guessing to setup a build environment as it is arbitrarily hard to reproduce the build environments reliably at scale.
Therefore, I propose a different approach here:
Separately, continue supporting dependency resolution simulation with all its problems with the various inspectors.
Some insights and concrete todos:
yarn
#3pnpm
#5npm
#4dotnet restore
and other built in commands #11See #13 for package types beyond this first batch
The text was updated successfully, but these errors were encountered: