MCPcopy Create free account
hub / github.com/riverqueue/river / localPath

Function localPath

rivershared/cmd/update-mod-go/main.go:78–98  ·  view source on GitHub ↗
(baseDir, filename string)

Source from the content-addressed store, hash-verified

76}
77
78func localPath(baseDir, filename string) (string, error) {
79 absBaseDir, err := filepath.Abs(baseDir)
80 if err != nil {
81 return "", fmt.Errorf("error resolving base directory %q: %w", baseDir, err)
82 }
83
84 absFilename, err := filepath.Abs(filepath.Join(absBaseDir, filepath.Clean(filename)))
85 if err != nil {
86 return "", fmt.Errorf("error resolving path %q: %w", filename, err)
87 }
88
89 rel, err := filepath.Rel(absBaseDir, absFilename)
90 if err != nil {
91 return "", fmt.Errorf("error checking path %q: %w", filename, err)
92 }
93 if rel == ".." || strings.HasPrefix(rel, ".."+string(filepath.Separator)) {
94 return "", fmt.Errorf("path escapes base directory %q: %q", absBaseDir, filename)
95 }
96
97 return absFilename, nil
98}
99
100func parseAndUpdateGoModFile(checkOnly bool, modFilename, workFilename, workGoVersion, workToolchainName string) (bool, error) {
101 modFileData, err := os.ReadFile(modFilename)

Callers 1

runFunction · 0.70

Calls 1

ErrorfMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…