UNPKG

705 BJavaScriptView Raw
1var url = require('url');
2var child = require('child_process');
3var _ = require('lodash');
4
5module.exports = function(topic) {
6 return {
7 topic: topic,
8 command: 'clean',
9 description: 'clean up heroku-docker images',
10 help: `help text for ${topic}:clean`,
11 run: function(context) {
12 var stdout = child.execSync(`docker images`, { encoding: 'utf8' });
13 var images = _.map(_.filter(stdout.split('\n'), isImage), lineToId);
14 images.forEach(removeImage);
15 }
16 }
17};
18
19function isImage(line) {
20 return line.indexOf('heroku-docker') === 0;
21}
22
23function lineToId(line) {
24 return line.split(' ')[0];
25}
26
27function removeImage(image) {
28 child.execSync(`docker rmi -f ${image}`);
29}