renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
39 lines • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.options = void 0;
exports.validateConfigSecrets = validateConfigSecrets;
exports.applySecretsToConfig = applySecretsToConfig;
const tslib_1 = require("tslib");
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
const interpolator_1 = require("../util/interpolator");
const regex_1 = require("../util/regex");
const sanitize_1 = require("../util/sanitize");
const secretNamePattern = '[A-Za-z][A-Za-z0-9_]*';
const secretNameRegex = (0, regex_1.regEx)(`^${secretNamePattern}$`);
const secretTemplateRegex = (0, regex_1.regEx)(`{{ secrets\\.(${secretNamePattern}) }}`);
exports.options = {
name: 'secrets',
nameRegex: secretNameRegex,
templateRegex: secretTemplateRegex,
};
function validateConfigSecrets(config) {
(0, interpolator_1.validateInterpolatedValues)(config.secrets, exports.options);
if (config.repositories) {
for (const repository of config.repositories) {
if (is_1.default.plainObject(repository)) {
(0, interpolator_1.validateInterpolatedValues)(repository.secrets, exports.options);
}
}
}
}
function applySecretsToConfig(config, secrets = config.secrets, deleteSecrets = true) {
// Add all secrets to be sanitized
if (is_1.default.plainObject(secrets)) {
for (const secret of Object.values(secrets)) {
(0, sanitize_1.addSecretForSanitizing)(secret);
}
}
// TODO: fix types (#9610)
return (0, interpolator_1.replaceInterpolatedValuesInObject)(config, secrets, exports.options, deleteSecrets);
}
//# sourceMappingURL=secrets.js.map