/
initialize.ts
45 lines (42 loc) · 1.45 KB
/
initialize.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import os from 'os';
import path from 'path';
import fs from 'fs-extra';
import { RenovateConfig } from '../../config/common';
import { logger } from '../../logger';
import { initPlatform } from '../../platform';
import * as globalCache from '../../util/cache/global';
import { setEmojiConfig } from '../../util/emoji';
import * as limits from './limits';
async function setDirectories(input: RenovateConfig): Promise<RenovateConfig> {
const config: RenovateConfig = { ...input };
process.env.TMPDIR = process.env.RENOVATE_TMPDIR || os.tmpdir();
if (config.baseDir) {
logger.debug('Using configured baseDir: ' + config.baseDir);
} else {
config.baseDir = path.join(process.env.TMPDIR, 'renovate');
logger.debug('Using baseDir: ' + config.baseDir);
}
await fs.ensureDir(config.baseDir);
if (config.cacheDir) {
logger.debug('Using configured cacheDir: ' + config.cacheDir);
} else {
config.cacheDir = path.join(config.baseDir, 'cache');
logger.debug('Using cacheDir: ' + config.cacheDir);
}
await fs.ensureDir(config.cacheDir);
return config;
}
export async function globalInitialize(
config_: RenovateConfig
): Promise<RenovateConfig> {
let config = config_;
config = await initPlatform(config);
config = await setDirectories(config);
globalCache.init(config);
limits.init(config);
setEmojiConfig(config);
return config;
}
export function globalFinalize(config: RenovateConfig): void {
globalCache.cleanup(config);
}