snyk-docker-plugin
Version:
Snyk CLI docker plugin
32 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseJavaRuntimeRelease = void 0;
const VALID_VERSION_PATTERN = /^(?!.*\.\.)[0-9]+(?:[._+a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
const regex = /^\s*JAVA_VERSION\s*=\s*(?:(["'])(.*?)\1|([^#\r\n]+))/gm;
function isValidJavaVersion(version) {
if (!version || version.length === 0) {
return false;
}
return VALID_VERSION_PATTERN.test(version);
}
function parseJavaRuntimeRelease(content) {
if (!content || content.trim().length === 0) {
return null;
}
try {
const matches = [...content.matchAll(regex)];
if (matches.length !== 1) {
return null;
}
const version = (matches[0][2] || matches[0][3] || "").trim();
if (!isValidJavaVersion(version)) {
return null;
}
return { type: "java", version };
}
catch (error) {
return null;
}
}
exports.parseJavaRuntimeRelease = parseJavaRuntimeRelease;
//# sourceMappingURL=parser.js.map