diff --git a/cmd/create.go b/cmd/create.go index fd4c213..d285594 100644 --- a/cmd/create.go +++ b/cmd/create.go @@ -3,7 +3,6 @@ package cmd import ( "envy/cmd/utils" "fmt" - "log" "os" "path" @@ -72,6 +71,9 @@ var createCmd = &cobra.Command{ err = utils.WriteEnvy(envy) utils.StopIfErr(err) + err = utils.RefactorEnv() + utils.StopIfErr(err) + fmt.Printf("Created environment %s for project %s.\n", environment, project) } @@ -129,10 +131,10 @@ var createCmd = &cobra.Command{ filePath := path.Join(cwd, "envy.toml") err = os.WriteFile(filePath, []byte(fmt.Sprintf("[envy]\nproject = \"%s\"\nenv = \"%s\"\ncurrent = \"%s\"\n", project, environment, environment)), 0644) - if err != nil { - log.Println("Error creating envy.toml file:", err) - return - } + utils.StopIfErr(err) + + err = utils.RefactorEnv() + utils.StopIfErr(err) fmt.Printf("Created environment %s inside of project %s.\n", environment, project) } diff --git a/cmd/utils/other.go b/cmd/utils/other.go index 5340130..546e21a 100644 --- a/cmd/utils/other.go +++ b/cmd/utils/other.go @@ -142,11 +142,31 @@ func ParseEnv(env string) string { return envs } +func RefactorEnv() error { + cwd, err := os.Getwd() + if err != nil { + return err + } + + envFile, err := os.ReadFile(path.Join(".env")) + if err != nil { + return err + } + + parsed := ParseEnv(string(envFile)) + + err = os.WriteFile(path.Join(cwd, ".env"), []byte(parsed), 0755) + if err != nil { + return err + } + + return nil +} type Env struct { Enabled bool - Key string - Value string + Key string + Value string } func ParseEnvToStruct(env string) []Env { @@ -171,7 +191,6 @@ func ParseEnvToStruct(env string) []Env { return envs } - func ParseEnvStruct(envs []Env) string { var env string