MCPcopy Index your code
hub / github.com/jetify-com/devbox / appendPackage

Method appendPackage

internal/devconfig/configfile/ast.go:101–117  ·  view source on GitHub ↗

appendPackage appends a package to the packages field.

(name, version string)

Source from the content-addressed store, hash-verified

99
100// appendPackage appends a package to the packages field.
101func (c *configAST) appendPackage(name, version string) {
102 pkgs := c.packagesField(false)
103 switch val := pkgs.Value.Value.(type) {
104 case *hujson.Object:
105 c.appendPackageToObject(val, name, version)
106 case *hujson.Array:
107 c.appendPackageToArray(val, joinNameVersion(name, version))
108 default:
109 panic("packages field must be an object or array")
110 }
111
112 // Ensure the packages field is on its own line.
113 if !slices.Contains(pkgs.Name.BeforeExtra, '\n') {
114 pkgs.Name.BeforeExtra = append(pkgs.Name.BeforeExtra, '\n')
115 }
116 c.root.Format()
117}
118
119func (c *configAST) appendPackageToObject(pkgs *hujson.Object, name, version string) {
120 i := c.memberIndex(pkgs, name)

Callers 1

AddMethod · 0.80

Calls 5

packagesFieldMethod · 0.95
appendPackageToObjectMethod · 0.95
appendPackageToArrayMethod · 0.95
joinNameVersionFunction · 0.85
FormatMethod · 0.45

Tested by

no test coverage detected