mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-14 08:36:26 +00:00
42 lines
1 KiB
JavaScript
42 lines
1 KiB
JavaScript
const { splitImageParts } = require('../docker/extract');
|
|
|
|
module.exports = {
|
|
extractDependencies,
|
|
};
|
|
|
|
function extractDependencies(content) {
|
|
logger.debug('docker-compose.extractDependencies()');
|
|
const deps = [];
|
|
let lineNumber = 0;
|
|
for (const line of content.split('\n')) {
|
|
const match = line.match(/^\s*image:\s*'?"?([^\s'"]+)'?"?\s*$/);
|
|
if (match) {
|
|
const currentFrom = match[1];
|
|
const {
|
|
dockerRegistry,
|
|
depName,
|
|
currentTag,
|
|
currentDigest,
|
|
currentDepTagDigest,
|
|
currentDepTag,
|
|
} = splitImageParts(currentFrom);
|
|
logger.info(
|
|
{ dockerRegistry, depName, currentTag, currentDigest },
|
|
'Docker Compose image'
|
|
);
|
|
deps.push({
|
|
depType: 'Docker Compose',
|
|
lineNumber,
|
|
currentFrom,
|
|
currentDepTagDigest,
|
|
dockerRegistry,
|
|
currentDepTag,
|
|
currentDigest,
|
|
depName,
|
|
currentTag,
|
|
});
|
|
}
|
|
lineNumber += 1;
|
|
}
|
|
return deps.filter(dep => !(dep.currentTag && dep.currentTag.includes('${')));
|
|
}
|