renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
101 lines • 4.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.globalInitialize = globalInitialize;
exports.globalFinalize = globalFinalize;
const tslib_1 = require("tslib");
const node_os_1 = tslib_1.__importDefault(require("node:os"));
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const upath_1 = tslib_1.__importDefault(require("upath"));
const secrets_1 = require("../../config/secrets");
const logger_1 = require("../../logger");
const remap_1 = require("../../logger/remap");
const platform_1 = require("../../modules/platform");
const packageCache = tslib_1.__importStar(require("../../util/cache/package"));
const emoji_1 = require("../../util/emoji");
const git_1 = require("../../util/git");
const hostRules = tslib_1.__importStar(require("../../util/host-rules"));
const rate_limits_1 = require("../../util/http/rate-limits");
const merge_confidence_1 = require("../../util/merge-confidence");
const limits_1 = require("./limits");
async function setDirectories(input) {
const config = { ...input };
process.env.TMPDIR = process.env.RENOVATE_TMPDIR ?? node_os_1.default.tmpdir();
if (config.baseDir) {
logger_1.logger.debug('Using configured baseDir: ' + config.baseDir);
}
else {
config.baseDir = upath_1.default.join(process.env.TMPDIR, 'renovate');
logger_1.logger.debug('Using baseDir: ' + config.baseDir);
}
await fs_extra_1.default.ensureDir(config.baseDir);
if (config.cacheDir) {
logger_1.logger.debug('Using configured cacheDir: ' + config.cacheDir);
}
else {
config.cacheDir = upath_1.default.join(config.baseDir, 'cache');
logger_1.logger.debug('Using cacheDir: ' + config.cacheDir);
}
await fs_extra_1.default.ensureDir(config.cacheDir);
if (config.binarySource === 'docker' || config.binarySource === 'install') {
if (config.containerbaseDir) {
logger_1.logger.debug('Using configured containerbaseDir: ' + config.containerbaseDir);
}
else {
config.containerbaseDir = upath_1.default.join(config.cacheDir, 'containerbase');
logger_1.logger.debug('Using containerbaseDir: ' + config.containerbaseDir);
}
await fs_extra_1.default.ensureDir(config.containerbaseDir);
}
return config;
}
function limitCommitsPerRun(config) {
let limit = config.prCommitsPerRunLimit;
limit = typeof limit === 'number' && limit > 0 ? limit : null;
(0, limits_1.setMaxLimit)('Commits', limit);
}
async function checkVersions() {
const validGitVersion = await (0, git_1.validateGitVersion)();
if (!validGitVersion) {
throw new Error('Init: git version needs upgrading');
}
}
function setGlobalHostRules(config) {
if (config.hostRules) {
logger_1.logger.debug('Setting global hostRules');
(0, secrets_1.applySecretsAndVariablesToConfig)({
config,
deleteVariables: false,
deleteSecrets: false,
});
config.hostRules.forEach((rule) => hostRules.add(rule));
}
}
function configureThirdPartyLibraries(config) {
// Not using early return style to make clear what's the criterion to set the variables,
// especially when there is more stuff added here in the future.
if (!config.useCloudMetadataServices) {
logger_1.logger.debug('Disabling the use of cloud metadata services');
process.env.AWS_EC2_METADATA_DISABLED = 'true'; // See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list
process.env.METADATA_SERVER_DETECTION = 'none'; // See https://cloud.google.com/nodejs/docs/reference/gcp-metadata/latest#environment-variables
}
}
async function globalInitialize(config_) {
let config = config_;
(0, rate_limits_1.setHttpRateLimits)();
await checkVersions();
setGlobalHostRules(config);
config = await (0, platform_1.initPlatform)(config);
config = await setDirectories(config);
await packageCache.init(config);
limitCommitsPerRun(config);
(0, emoji_1.setEmojiConfig)(config);
setGlobalHostRules(config);
configureThirdPartyLibraries(config);
await (0, merge_confidence_1.initMergeConfidence)(config);
return config;
}
async function globalFinalize(config) {
await packageCache.cleanup(config);
(0, remap_1.resetGlobalLogLevelRemaps)();
}
//# sourceMappingURL=initialize.js.map