docker-meta
Advanced tools
Comparing version
@@ -0,1 +1,8 @@ | ||
## [4.2.0](https://github.com/felipecrs/docker-meta/compare/v4.1.0...v4.2.0) (2021-04-26) | ||
### Features | ||
* allow groups to be defined and also extra keys ([#43](https://github.com/felipecrs/docker-meta/issues/43)) ([72e1350](https://github.com/felipecrs/docker-meta/commit/72e13507bc5b4ca57344e4ce55e56e295260337b)) | ||
## [4.1.0](https://github.com/felipecrs/docker-meta/compare/v4.0.0...v4.1.0) (2021-04-23) | ||
@@ -2,0 +9,0 @@ |
@@ -27,4 +27,8 @@ import { Command, flags } from "@oclif/command"; | ||
}; | ||
[key: string]: any; | ||
}; | ||
}; | ||
groups: { | ||
[group: string]: any; | ||
}; | ||
} | ||
@@ -31,0 +35,0 @@ declare class DockerMeta extends Command { |
"use strict"; | ||
const tslib_1 = require("tslib"); | ||
const command_1 = require("@oclif/command"); | ||
@@ -115,3 +116,3 @@ const cosmiconfig_1 = require("cosmiconfig"); | ||
const outputTargetName = targetName; | ||
const outputTarget = new BakeTarget(); | ||
let outputTarget = new BakeTarget(); | ||
// semver.parse will normalize the version if it's a valid semver | ||
@@ -128,10 +129,12 @@ // example: v1.0.0 -> 1.0.0 | ||
outputTarget.labels["org.label-schema.schema-version"] = "1.0.0-rc1"; | ||
// extract needed fields | ||
const { labels: inputLabels, images: inputImages, args: inputArgs, tags: inputTags } = inputTarget, inputExtraKeys = tslib_1.__rest(inputTarget, ["labels", "images", "args", "tags"]); | ||
// merge generated labels with the labels from the input | ||
outputTarget.labels = Object.assign(Object.assign({}, outputTarget.labels), inputTarget.labels); | ||
outputTarget.labels = Object.assign(Object.assign({}, outputTarget.labels), inputLabels); | ||
if (config["change-request"]) { | ||
outputTarget.tags.push(...inputTarget.images.map((image) => `${image}:gcr-${config["change-number"]}`)); | ||
outputTarget.tags.push(...inputImages.map((image) => `${image}:gcr-${config["change-number"]}`)); | ||
} | ||
else { | ||
if (config["tag-version"] === true) { | ||
outputTarget.tags.push(...inputTarget.images.map((image) => `${image}:${normalizedVersion}`)); | ||
outputTarget.tags.push(...inputImages.map((image) => `${image}:${normalizedVersion}`)); | ||
} | ||
@@ -152,11 +155,14 @@ if (config.latest) { | ||
} | ||
versionTags.forEach((versionTag) => outputTarget.tags.push(...inputTarget.images.map((image) => `${image}:${versionTag}`))); | ||
versionTags.forEach((versionTag) => outputTarget.tags.push(...inputImages.map((image) => `${image}:${versionTag}`))); | ||
} | ||
outputTarget.tags.push(...inputTarget.images.map((image) => `${image}:${config.branch.replace(/[^a-zA-Z0-9._-]+/g, "-")}`)); | ||
outputTarget.tags.push(...inputImages.map((image) => `${image}:${config.branch.replace(/[^a-zA-Z0-9._-]+/g, "-")}`)); | ||
// eslint-disable-next-line max-depth | ||
if (config.branch === "master" || config.branch === "develop") { | ||
outputTarget.tags.push(...inputTarget.images.map((image) => `${image}:latest`)); | ||
outputTarget.tags.push(...inputImages.map((image) => `${image}:latest`)); | ||
} | ||
} | ||
} | ||
if (Array.isArray(inputTags)) { | ||
outputTarget.tags.push(...inputTags); | ||
} | ||
if (config["tag-version"] === true) { | ||
@@ -167,6 +173,11 @@ outputTarget.args.VERSION = normalizedVersion; | ||
// Merge generated args with the args from the input | ||
outputTarget.args = Object.assign(Object.assign({}, outputTarget.args), inputTarget.args); | ||
outputTarget.args = Object.assign(Object.assign({}, outputTarget.args), inputArgs); | ||
// Add extra keys | ||
outputTarget = Object.assign(Object.assign({}, outputTarget), inputExtraKeys); | ||
output.target[outputTargetName] = outputTarget; | ||
} | ||
} | ||
if (config.groups) { | ||
output.group = config.groups; | ||
} | ||
if (flags.output) { | ||
@@ -173,0 +184,0 @@ fs.writeFileSync(flags.output, JSON.stringify(output, null, 2)); |
{ | ||
"name": "docker-meta", | ||
"description": "Generates docker meta information such as tags, labels and build-args.", | ||
"version": "4.1.0", | ||
"version": "4.2.0", | ||
"author": "Felipe Santos @felipecrs", | ||
@@ -6,0 +6,0 @@ "bin": { |
@@ -26,3 +26,3 @@ # docker-meta | ||
$ docker-meta (-v|--version|version) | ||
docker-meta/4.1.0 linux-x64 node-v14.16.1 | ||
docker-meta/4.2.0 linux-x64 node-v14.16.1 | ||
$ docker-meta --help [COMMAND] | ||
@@ -29,0 +29,0 @@ USAGE |
21600
4.65%298
5.3%