mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-31 09:41:46 +00:00
e5f067ccce
* feat(manager): add proto manager for .prototools files Add a new manager for moonrepo's proto tool version manager. Proto uses .prototools (TOML) files to pin tool versions at the directory level. The manager extracts top-level version entries and maps them to the appropriate Renovate datasources. Supported built-in tools: bun, deno, go, moon, node, npm, pnpm, yarn, python, ruby, rust, proto, gh, poetry, uv. Non-version sections ([settings], [plugins], [tools], [env], [shell], [backends]) are correctly ignored. Version aliases (latest, stable, canary, nightly) are skipped with appropriate skipReason. Unknown tools are reported as unsupported-datasource. * fix(manager): address proto manager PR review feedback - Remove deduplicateArray/sort from supportedDatasources, sort manually - Sort protoTooling entries alphabetically - Inline createDependency call into deps.push() - Inline fixture content into test, remove fixture file
22 lines
829 B
TypeScript
22 lines
829 B
TypeScript
import { matchRegexOrGlobList } from '../../../util/string-match.ts';
|
|
import { defaultConfig } from './index.ts';
|
|
|
|
describe('modules/manager/proto/index', () => {
|
|
describe('managerFilePatterns', () => {
|
|
it.each`
|
|
path | expected
|
|
${'.prototools'} | ${true}
|
|
${'subdir/.prototools'} | ${true}
|
|
${'deep/nested/path/.prototools'} | ${true}
|
|
${'prototools'} | ${false}
|
|
${'.prototools.bak'} | ${false}
|
|
${'.prototools.toml'} | ${false}
|
|
${'prototools.toml'} | ${false}
|
|
`('matchRegexOrGlobList("$path") === $expected', ({ path, expected }) => {
|
|
expect(
|
|
matchRegexOrGlobList(path, defaultConfig.managerFilePatterns),
|
|
).toBe(expected);
|
|
});
|
|
});
|
|
});
|