diff options
| author | 2023-04-28 01:36:44 +0800 | |
|---|---|---|
| committer | 2023-04-28 01:36:44 +0800 | |
| commit | dd84b9d64fb98746a230cd24233ff50a562c39c9 (patch) | |
| tree | b583261ef00b3afe72ec4d6dacb31e57779a6faf /cli/internal/util/backends.go | |
| parent | 0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff) | |
| download | HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip | |
Diffstat (limited to 'cli/internal/util/backends.go')
| -rw-r--r-- | cli/internal/util/backends.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cli/internal/util/backends.go b/cli/internal/util/backends.go new file mode 100644 index 0000000..66941ad --- /dev/null +++ b/cli/internal/util/backends.go @@ -0,0 +1,30 @@ +package util + +import ( + "fmt" + "io/ioutil" + "path/filepath" + + "github.com/vercel/turbo/cli/internal/yaml" +) + +// YarnRC Represents contents of .yarnrc.yml +type YarnRC struct { + NodeLinker string `yaml:"nodeLinker"` +} + +// IsNMLinker Checks that Yarn is set to use the node-modules linker style +func IsNMLinker(cwd string) (bool, error) { + yarnRC := &YarnRC{} + + bytes, err := ioutil.ReadFile(filepath.Join(cwd, ".yarnrc.yml")) + if err != nil { + return false, fmt.Errorf(".yarnrc.yml: %w", err) + } + + if yaml.Unmarshal(bytes, yarnRC) != nil { + return false, fmt.Errorf(".yarnrc.yml: %w", err) + } + + return yarnRC.NodeLinker == "node-modules", nil +} |
