mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-31 09:41:46 +00:00
141e136869
* feat(manager/mise): support gitlab backend Maps the mise `gitlab` backend (e.g. `gitlab:gitlab-org/cli`) to the gitlab-releases datasource, mirroring the github backend including version_prefix support. * refactor(manager/mise): use optional instead of Nullish for tool options TOML has no null type, so MiseToolOptions values are only ever a string or absent. .optional() models that exactly; Nullish only adds value for sources that can emit explicit null. * fix(manager/mise): use RegExp.escape in gitlab backend Main switched `createGithubToolConfig` from the `escapeRegExp` util to `RegExp.escape` and dropped the import, which left the newly added `createGitlabToolConfig` referencing an undefined symbol after the merge. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Michael Kriese <michael.kriese@mend.io> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
87 lines
3.4 KiB
TypeScript
87 lines
3.4 KiB
TypeScript
import { deduplicateArray } from '../../../util/array.ts';
|
|
import { CrateDatasource } from '../../datasource/crate/index.ts';
|
|
import { GitRefsDatasource } from '../../datasource/git-refs/index.ts';
|
|
import { GitTagsDatasource } from '../../datasource/git-tags/index.ts';
|
|
import { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';
|
|
import { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';
|
|
import { GitlabReleasesDatasource } from '../../datasource/gitlab-releases/index.ts';
|
|
import { GoDatasource } from '../../datasource/go/index.ts';
|
|
import { JavaVersionDatasource } from '../../datasource/java-version/index.ts';
|
|
import { NodeVersionDatasource } from '../../datasource/node-version/index.ts';
|
|
import { NpmDatasource } from '../../datasource/npm/index.ts';
|
|
import { NugetDatasource } from '../../datasource/nuget/index.ts';
|
|
import { PypiDatasource } from '../../datasource/pypi/index.ts';
|
|
import { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';
|
|
import { RubygemsDatasource } from '../../datasource/rubygems/index.ts';
|
|
import { RustVersionDatasource } from '../../datasource/rust-version/index.ts';
|
|
import { supportedDatasources as asdfSupportedDatasources } from '../asdf/index.ts';
|
|
|
|
export { updateArtifacts } from './artifacts.ts';
|
|
export { knownDepTypes, supportsDynamicDepTypesNote } from './dep-types.ts';
|
|
export { extractPackageFile } from './extract.ts';
|
|
export { updateLockedDependency } from './update-locked.ts';
|
|
|
|
export const displayName = 'mise-en-place';
|
|
export const supportsLockFileMaintenance = true;
|
|
export const lockFileNames = ['mise.lock'];
|
|
export const lockFileMaintenanceIsDelegatedToPackageManager = true;
|
|
export const url = 'https://mise.jdx.dev';
|
|
|
|
export const defaultConfig = {
|
|
managerFilePatterns: [
|
|
'**/{,.}mise{,.*}.toml',
|
|
'**/{,.}mise/config{,.*}.toml',
|
|
'**/.config/mise{,.*}.toml',
|
|
'**/.config/mise/{mise,config}{,.*}.toml',
|
|
'**/.config/mise/conf.d/*.toml',
|
|
'**/.rtx{,.*}.toml',
|
|
],
|
|
pinDigests: false,
|
|
};
|
|
|
|
const backendDatasources = {
|
|
core: [
|
|
GithubReleasesDatasource.id,
|
|
GithubTagsDatasource.id,
|
|
JavaVersionDatasource.id,
|
|
NodeVersionDatasource.id,
|
|
RubyVersionDatasource.id,
|
|
RustVersionDatasource.id,
|
|
],
|
|
// Re-use the asdf datasources, as mise and asdf support the same plugins.
|
|
asdf: asdfSupportedDatasources,
|
|
aqua: [GithubTagsDatasource.id],
|
|
cargo: [CrateDatasource.id, GitTagsDatasource.id, GitRefsDatasource.id],
|
|
dotnet: [NugetDatasource.id],
|
|
gem: [RubygemsDatasource.id],
|
|
github: [GithubReleasesDatasource.id],
|
|
gitlab: [GitlabReleasesDatasource.id],
|
|
go: [GoDatasource.id],
|
|
npm: [NpmDatasource.id],
|
|
pipx: [PypiDatasource.id, GithubTagsDatasource.id, GitRefsDatasource.id],
|
|
spm: [GithubReleasesDatasource.id],
|
|
ubi: [GithubReleasesDatasource.id],
|
|
// not supported
|
|
vfox: [],
|
|
};
|
|
|
|
/**
|
|
* Backends that are definitely supported out-of-the-box with Renovate.
|
|
*/
|
|
export const supportedBackendDatasources = new Set(
|
|
Object.keys(backendDatasources).filter((key) => key !== 'vfox'),
|
|
);
|
|
|
|
/**
|
|
* Backends that may require some additional work for users to configure Renovate to update them.
|
|
*/
|
|
export const maybeSupportedBackendDatasources = new Set<string>(
|
|
Object.keys(backendDatasources).filter(
|
|
(key) => key === 'vfox' || key === 'aqua',
|
|
),
|
|
);
|
|
|
|
export const supportedDatasources = deduplicateArray(
|
|
Object.values(backendDatasources).flat(),
|
|
).sort();
|