fix: fix: trim comments that are not modifers
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing

See coop-cloud/organising#505
This commit is contained in:
2023-10-09 14:37:20 +02:00
parent be693e9df0
commit c249c6ae9c
11 changed files with 71 additions and 22 deletions

View File

@ -55,6 +55,11 @@ func GetServers() ([]string, error) {
return servers, nil
}
// ReadEnvOptions modifies the ReadEnv processing of env vars.
type ReadEnvOptions struct {
IncludeModifiers bool
}
// ContainsEnvVarModifier determines if an env var contains a modifier.
func ContainsEnvVarModifier(envVar string) bool {
for _, mod := range envVarModifiers {
@ -66,7 +71,7 @@ func ContainsEnvVarModifier(envVar string) bool {
}
// ReadEnv loads an app envivornment into a map.
func ReadEnv(filePath string) (AppEnv, error) {
func ReadEnv(filePath string, opts ReadEnvOptions) (AppEnv, error) {
var envVars AppEnv
envVars, err := godotenv.Read(filePath)
@ -76,7 +81,7 @@ func ReadEnv(filePath string) (AppEnv, error) {
for idx, envVar := range envVars {
if strings.Contains(envVar, "#") {
if ContainsEnvVarModifier(envVar) {
if opts.IncludeModifiers && ContainsEnvVarModifier(envVar) {
continue
}
vals := strings.Split(envVar, "#")
@ -222,7 +227,7 @@ func CheckEnv(app App) ([]EnvVar, error) {
return envVars, err
}
envSample, err := ReadEnv(envSamplePath)
envSample, err := ReadEnv(envSamplePath, ReadEnvOptions{})
if err != nil {
return envVars, err
}