renovate/lib/manager/docker-compose/extract.js
2018-03-29 19:09:27 +02:00

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('${')));
}