Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: rewrite new package manager questionnaire (#25346)
- Loading branch information
1 parent
5960b53
commit b34246c
Showing
1 changed file
with
93 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,106 +1,159 @@ | ||
# New package manager questionnaire | ||
|
||
**Did you read our documentation on adding a package manager?** | ||
Did you read our documentation on adding a package manager? | ||
|
||
- [ ] I've read the [adding a package manager](adding-a-package-manager.md) documentation. | ||
|
||
## Basics | ||
|
||
### Name of package manager | ||
### What's the name of the package manager? | ||
|
||
### What language does this support? | ||
### What language(s) does this package manager support? | ||
|
||
### How popular is this package manager? | ||
|
||
### Does this language have other (competing?) package managers? | ||
|
||
- [ ] Yes (give names) | ||
- [ ] No | ||
- [ ] Yes (give names). | ||
- [ ] No. | ||
|
||
--- | ||
### What are the big selling points for this package manager? | ||
|
||
## Package File Detection | ||
Explain how this package manager is different from existing ones. | ||
|
||
### What type of package files and names does it use? | ||
## Detecting package files | ||
|
||
### What [fileMatch](../usage/configuration-options.md#filematch) pattern(s) should be used? | ||
### What kind of package files, and names, does this package manager use? | ||
|
||
### Is it likely that many users would need to extend this pattern for custom file names? | ||
### Which [`fileMatch`](../usage/configuration-options.md#filematch) pattern(s) should Renovate use? | ||
|
||
- [ ] Yes | ||
- [ ] No | ||
### Do many users need to extend the [`fileMatch`](../usage/configuration-options.md#filematch) pattern for custom file names? | ||
|
||
### Is the fileMatch pattern likely to get many "false hits" for files that have nothing to do with package management? | ||
- [ ] Yes, provide details. | ||
- [ ] No. | ||
|
||
--- | ||
### Is the [`fileMatch`](../usage/configuration-options.md#filematch) pattern going to get many "false hits" for files that have nothing to do with package management? | ||
|
||
## Parsing and Extraction | ||
|
||
### Can package files have "local" links to each other that need to be resolved? | ||
|
||
### Is there a reason why package files need to be parsed together (in serial) instead of independently? | ||
### Package file parsing method | ||
|
||
The package files should be: | ||
|
||
### What format/syntax is the package file in? | ||
- [ ] Parsed together (in serial). | ||
- [ ] Parsed independently. | ||
|
||
### Which format/syntax does the package file use? | ||
|
||
- [ ] JSON | ||
- [ ] TOML | ||
- [ ] YAML | ||
- [ ] Custom (explain below) | ||
|
||
### How do you suggest parsing the file? | ||
### How should we parse the package files? | ||
|
||
- [ ] Off the shelf parser | ||
- [ ] Using regex | ||
- [ ] Custom-parsed line by line | ||
- [ ] Other | ||
- [ ] Off the shelf parser. | ||
- [ ] Using regex. | ||
- [ ] Custom-parsed line by line. | ||
- [ ] Other. | ||
|
||
### Does the package file structure distinguish between different "types" of dependencies? e.g. production dependencies, development dependencies, etc? | ||
### Does the package file have different "types" of dependencies? | ||
|
||
- [ ] Yes, production and development dependencies | ||
- [ ] No, all dependencies are treated the same | ||
- [ ] Yes, production and development dependencies. | ||
- [ ] No, all dependencies are treated the same. | ||
|
||
### List all the sources/syntaxes of dependencies that can be extracted | ||
|
||
### Describe which types of dependencies above are supported and which will be implemented in future | ||
|
||
--- | ||
|
||
## Versioning | ||
|
||
### What versioning scheme does the package file(s) use? | ||
|
||
### Does this versioning scheme support range constraints, e.g. `^1.0.0` or `1.x`? | ||
### Does this versioning scheme support range constraints, like `^1.0.0` or `1.x`? | ||
|
||
- [ ] Supports range constraints (e.g `^1.0.0` or `1.x`) | ||
- [ ] No | ||
|
||
--- | ||
- [ ] Supports range constraints (for example: `^1.0.0` or `1.x`), provide details. | ||
- [ ] No. | ||
|
||
## Lookup | ||
|
||
### Is a new datasource required? Provide details | ||
### Is a new datasource required? | ||
|
||
- [ ] Yes, provide details. | ||
- [ ] No. | ||
|
||
### Will users need the capability to specify a custom host/registry to look up? Can it be found within the package files, or within other files inside the repository, or would it require Renovate configuration? | ||
### Will users want (or need to) set a custom host or custom registry for Renovate's lookup? | ||
|
||
### Do the package files have any "constraints" on the parent language (e.g. supports only v3.x of Python) or platform (Linux, Windows, etc.) that should be used in the lookup procedure? | ||
- [ ] Yes, provide details. | ||
- [ ] No. | ||
|
||
Where can Renovate find the custom host/registry? | ||
|
||
- [ ] No custom host or registry is needed. | ||
- [ ] In the package file(s), provide details. | ||
- [ ] In some other file inside the repository, provide details. | ||
- [ ] User needs to configure Renovate where to find the information, provide details. | ||
|
||
### Are there any constraints in the package files that Renovate should use in the lookup procedure? | ||
|
||
- [ ] Yes, there are constraints on the parent language (for example: supports only Python `v3.x`), provide details. | ||
- [ ] Yes, there are constraints on the parent platform (for example: only supports Linux, Windows, etc.), provide details. | ||
- [ ] Yes, some other kind of constraint, provide details. | ||
- [ ] No constraints. | ||
|
||
### Will users need the ability to configure language or other constraints using Renovate config? | ||
|
||
--- | ||
- [ ] Yes, provide details. | ||
- [ ] No. | ||
|
||
## Artifacts | ||
|
||
### Are lock files or checksum files used? Are they mandatory? | ||
### Does the package manager use a lock file or checksum file? | ||
|
||
- [ ] Yes, uses lock file. | ||
- [ ] Yes, uses checksum file. | ||
- [ ] Yes, uses lock file _and_ checksum file. | ||
- [ ] No lock file or checksum. | ||
|
||
### Is the locksum or checksum mandatory? | ||
|
||
- [ ] Yes, locksum is mandatory. | ||
- [ ] Yes, checksum is mandatory. | ||
- [ ] Yes, lock file _and_ checksum are mandatory. | ||
- [ ] No mandatory locksum or checksum. | ||
- [ ] Package manager does not use locksums or checksums. | ||
|
||
### If lockfiles or checksums are used: what tool and exact commands should Renovate use to update one (or more) package versions in a dependency file? | ||
|
||
### Package manager cache | ||
|
||
#### Does the package manager use a cache? | ||
|
||
- [ ] Yes, provide details. | ||
- [ ] No. | ||
|
||
#### If the package manager uses a cache, how can Renovate control the cache? | ||
|
||
- [ ] Package manager does not use a cache. | ||
- [ ] Controlled via command line interface, provide details. | ||
- [ ] Controlled via environment variables, provide details. | ||
|
||
#### Should Renovate keep a cache? | ||
|
||
- [ ] Yes, ignore/disable the cache. | ||
- [ ] No. | ||
|
||
### If so, what tool and exact commands should be used if updating one or more package versions in a dependency file? | ||
### Generating a lockfile from scratch | ||
|
||
### If applicable, describe how the tool maintains a cache and if it can be controlled via CLI or environment variables? Do you recommend the cache be kept or disabled/ignored? | ||
Renovate can perform "lock file maintenance" by getting the package manager to generate a lockfile from scratch. | ||
Can the package manager generate a lockfile from scratch? | ||
|
||
### If applicable, what command should be used to generate a lock file from scratch if you already have a package file? This will be used for "lock file maintenance" | ||
- [ ] Yes, explain which command Renovate should use to generate the lockfile. | ||
- [ ] No, the package manager does _not_ generate a lockfile from scratch. | ||
- [ ] No, the package manager does not use lockfiles. | ||
|
||
## Other | ||
|
||
### Is there anything else to know about this package manager? | ||
### What else should we know about this package manager? |