mirror of https://github.com/renovatebot/renovate
160 lines
4.7 KiB
Markdown
160 lines
4.7 KiB
Markdown
# New package manager questionnaire
|
|
|
|
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
|
|
|
|
### What's the name of the package manager?
|
|
|
|
### 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.
|
|
|
|
### What are the big selling points for this package manager?
|
|
|
|
Explain how this package manager is different from existing ones.
|
|
|
|
## Detecting package files
|
|
|
|
### What kind of package files, and names, does this package manager use?
|
|
|
|
### Which [`fileMatch`](../usage/configuration-options.md#filematch) pattern(s) should Renovate use?
|
|
|
|
### Do many users need to extend the [`fileMatch`](../usage/configuration-options.md#filematch) pattern for custom file names?
|
|
|
|
- [ ] 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?
|
|
|
|
### Package file parsing method
|
|
|
|
The package files should be:
|
|
|
|
- [ ] Parsed together (in serial).
|
|
- [ ] Parsed independently.
|
|
|
|
### Which format/syntax does the package file use?
|
|
|
|
- [ ] JSON
|
|
- [ ] TOML
|
|
- [ ] YAML
|
|
- [ ] Custom (explain below)
|
|
|
|
### How should we parse the package files?
|
|
|
|
- [ ] Off the shelf parser.
|
|
- [ ] Using regex.
|
|
- [ ] Custom-parsed line by line.
|
|
- [ ] Other.
|
|
|
|
### Does the package file have different "types" of dependencies?
|
|
|
|
- [ ] 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, like `^1.0.0` or `1.x`?
|
|
|
|
- [ ] Supports range constraints (for example: `^1.0.0` or `1.x`), provide details.
|
|
- [ ] No.
|
|
|
|
## Lookup
|
|
|
|
### Is a new datasource required?
|
|
|
|
- [ ] Yes, provide details.
|
|
- [ ] No.
|
|
|
|
### Will users want (or need to) set a custom host or custom registry for Renovate's lookup?
|
|
|
|
- [ ] 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
|
|
|
|
### 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.
|
|
|
|
### Generating a lockfile from scratch
|
|
|
|
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?
|
|
|
|
- [ ] 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
|
|
|
|
### What else should we know about this package manager?
|