mirror of
https://github.com/joho/godotenv.git
synced 2025-06-15 17:06:03 +00:00
Rename and implement int-able without quotes
This commit is contained in:
parent
d6ee6871f2
commit
29b5be9cdc
14
README.md
14
README.md
@ -1,4 +1,4 @@
|
|||||||
# GoDotEnv [](https://travis-ci.org/joho/godotenv) [](https://ci.appveyor.com/project/joho/godotenv) [](https://goreportcard.com/report/github.com/joho/godotenv)
|
# GoDotEnv [](https://travis-ci.org/mniak/godotenv) [](https://ci.appveyor.com/project/mniak/godotenv) [](https://goreportcard.com/report/github.com/mniak/godotenv)
|
||||||
|
|
||||||
A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file)
|
A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file)
|
||||||
|
|
||||||
@ -17,12 +17,12 @@ There is test coverage and CI for both linuxish and windows environments, but I
|
|||||||
As a library
|
As a library
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
go get github.com/joho/godotenv
|
go get github.com/mniak/godotenv
|
||||||
```
|
```
|
||||||
|
|
||||||
or if you want to use it as a bin command
|
or if you want to use it as a bin command
|
||||||
```shell
|
```shell
|
||||||
go get github.com/joho/godotenv/cmd/godotenv
|
go get github.com/mniak/godotenv/cmd/godotenv
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -40,7 +40,7 @@ Then in your Go app you can do something like
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/joho/godotenv"
|
"github.com/mniak/godotenv"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
@ -61,7 +61,7 @@ func main() {
|
|||||||
If you're even lazier than that, you can just take advantage of the autoload package which will read in `.env` on import
|
If you're even lazier than that, you can just take advantage of the autoload package which will read in `.env` on import
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import _ "github.com/joho/godotenv/autoload"
|
import _ "github.com/mniak/godotenv/autoload"
|
||||||
```
|
```
|
||||||
|
|
||||||
While `.env` in the project root is the default, you don't have to be constrained, both examples below are 100% legit
|
While `.env` in the project root is the default, you don't have to be constrained, both examples below are 100% legit
|
||||||
@ -177,11 +177,11 @@ Contributions are most welcome! The parser itself is pretty stupidly naive and I
|
|||||||
|
|
||||||
Releases should follow [Semver](http://semver.org/) though the first couple of releases are `v1` and `v1.1`.
|
Releases should follow [Semver](http://semver.org/) though the first couple of releases are `v1` and `v1.1`.
|
||||||
|
|
||||||
Use [annotated tags for all releases](https://github.com/joho/godotenv/issues/30). Example `git tag -a v1.2.1`
|
Use [annotated tags for all releases](https://github.com/mniak/godotenv/issues/30). Example `git tag -a v1.2.1`
|
||||||
|
|
||||||
## CI
|
## CI
|
||||||
|
|
||||||
Linux: [](https://travis-ci.org/joho/godotenv) Windows: [](https://ci.appveyor.com/project/joho/godotenv)
|
Linux: [](https://travis-ci.org/mniak/godotenv) Windows: [](https://ci.appveyor.com/project/mniak/godotenv)
|
||||||
|
|
||||||
## Who?
|
## Who?
|
||||||
|
|
||||||
|
@ -3,12 +3,12 @@ package autoload
|
|||||||
/*
|
/*
|
||||||
You can just read the .env file on import just by doing
|
You can just read the .env file on import just by doing
|
||||||
|
|
||||||
import _ "github.com/joho/godotenv/autoload"
|
import _ "github.com/mniak/godotenv/autoload"
|
||||||
|
|
||||||
And bob's your mother's brother
|
And bob's your mother's brother
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import "github.com/joho/godotenv"
|
import "github.com/mniak/godotenv"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
godotenv.Load()
|
godotenv.Load()
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/joho/godotenv"
|
"github.com/mniak/godotenv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Package godotenv is a go port of the ruby dotenv library (https://github.com/bkeepers/dotenv)
|
// Package godotenv is a go port of the ruby dotenv library (https://github.com/bkeepers/dotenv)
|
||||||
//
|
//
|
||||||
// Examples/readme can be found on the github page at https://github.com/joho/godotenv
|
// Examples/readme can be found on the github page at https://github.com/mniak/godotenv
|
||||||
//
|
//
|
||||||
// The TL;DR is that you make a .env file that looks something like
|
// The TL;DR is that you make a .env file that looks something like
|
||||||
//
|
//
|
||||||
@ -22,6 +22,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"regexp"
|
"regexp"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -169,7 +170,11 @@ func Write(envMap map[string]string, filename string) error {
|
|||||||
func Marshal(envMap map[string]string) (string, error) {
|
func Marshal(envMap map[string]string) (string, error) {
|
||||||
lines := make([]string, 0, len(envMap))
|
lines := make([]string, 0, len(envMap))
|
||||||
for k, v := range envMap {
|
for k, v := range envMap {
|
||||||
lines = append(lines, fmt.Sprintf(`%s="%s"`, k, doubleQuoteEscape(v)))
|
if d, err := strconv.Atoi(v); err == nil {
|
||||||
|
lines = append(lines, fmt.Sprintf(`%s=%d`, k, d))
|
||||||
|
} else {
|
||||||
|
lines = append(lines, fmt.Sprintf(`%s="%s"`, k, doubleQuoteEscape(v)))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sort.Strings(lines)
|
sort.Strings(lines)
|
||||||
return strings.Join(lines, "\n"), nil
|
return strings.Join(lines, "\n"), nil
|
||||||
|
@ -445,7 +445,8 @@ func TestWrite(t *testing.T) {
|
|||||||
writeAndCompare(`foo="\n\r\\r!"`, `foo="\n\r\\r\!"`)
|
writeAndCompare(`foo="\n\r\\r!"`, `foo="\n\r\\r\!"`)
|
||||||
// lines should be sorted
|
// lines should be sorted
|
||||||
writeAndCompare("foo=bar\nbaz=buzz", "baz=\"buzz\"\nfoo=\"bar\"")
|
writeAndCompare("foo=bar\nbaz=buzz", "baz=\"buzz\"\nfoo=\"bar\"")
|
||||||
|
// integers should not be quoted
|
||||||
|
writeAndCompare(`key="10"`, `key=10`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRoundtrip(t *testing.T) {
|
func TestRoundtrip(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user