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

Function localPath

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

Source from the content-addressed store, hash-verified

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

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…