fix(core): Fix env file config loading (no-changelog) (#5339)

* fix(core): Do not trim config values read from files (no-changelog)

* do not use config.load. it does not work
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™ 2023-02-02 15:34:29 +01:00 committed by GitHub
parent e58bc41d24
commit 93a2dac063
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,33 +44,27 @@ if (!inE2ETests && !inTest) {
}
// Overwrite config from files defined in "_FILE" environment variables
const overwrites = Object.entries(process.env).reduce<Record<string, string>>(
(acc, [envName, fileName]) => {
if (envName.endsWith('_FILE') && fileName) {
const configEnvName = envName.replace(/_FILE$/, '');
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
const key = config._env[configEnvName]?.[0] as string;
if (key) {
let value: string;
try {
value = readFileSync(fileName, 'utf8').trim();
} catch (error) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
if (error.code === 'ENOENT') {
throw new Error(`The file "${fileName}" could not be found.`);
}
throw error;
Object.entries(process.env).forEach(([envName, fileName]) => {
if (envName.endsWith('_FILE') && fileName) {
const configEnvName = envName.replace(/_FILE$/, '');
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
const key = config._env[configEnvName]?.[0] as string;
if (key) {
let value: string;
try {
value = readFileSync(fileName, 'utf8');
} catch (error) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
if (error.code === 'ENOENT') {
throw new Error(`The file "${fileName}" could not be found.`);
}
console.debug('Loading config overwrite', { fileName });
acc[key] = value;
throw error;
}
config.set(key, value);
}
return acc;
},
{},
);
config.load(overwrites);
}
});
}
config.validate({