Files
Jamie Tanna 5ffc308673 docs(manager): indicate where lockFileMaintenance runs external commands (#44914)
As found with recent changes to the Terraform manager, although we
generally have `lockFileMaintenance` being executed by an external
package manager being invoked by `exec(...)`, there are a few package
managers that do not do so.

To make it very clear how this happens, we can add a new field to the
Manager API, which will provide a means to document this.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-07-28 11:44:22 +00:00

36 lines
1.3 KiB
TypeScript

import type { Category } from '../../../constants/index.ts';
import { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';
import { RubygemsDatasource } from '../../datasource/rubygems/index.ts';
import * as rubyVersioning from '../../versioning/ruby/index.ts';
import { updateArtifacts } from './artifacts.ts';
import { extractPackageFile } from './extract.ts';
import { updateLockedDependency } from './update-locked.ts';
export const supportsLockFileMaintenance = true;
export const lockFileNames = ['Gemfile.lock'];
export const lockFileMaintenanceIsDelegatedToPackageManager = true;
/*
* Each of the below functions contain some explanations within their own files.
* The best way to understand them in more detail is to look at the existing managers and find one that matches most closely what you need to do.
*/
export {
extractPackageFile, // Mandatory unless extractAllPackageFiles is used instead
updateArtifacts, // Optional
updateLockedDependency,
};
export const url = 'https://bundler.io/docs.html';
export const categories: Category[] = ['ruby'];
export const defaultConfig = {
managerFilePatterns: ['/(^|/)Gemfile$/'],
versioning: rubyVersioning.id,
};
export const supportedDatasources = [
RubygemsDatasource.id,
RubyVersionDatasource.id,
];