diff --git a/cmd/hof/cmd/mod.go b/cmd/hof/cmd/mod.go index 0f56624a8..5c37858c0 100644 --- a/cmd/hof/cmd/mod.go +++ b/cmd/hof/cmd/mod.go @@ -1,198 +1,84 @@ package cmd import ( + "bytes" + "context" "fmt" "os" - "strconv" + "strings" "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/cmd/hof/cmd/mod" + cuecmd "cuelang.org/go/cmd/cue/cmd" "github.com/hofstadter-io/hof/cmd/hof/ga" ) -var modLong = `hof mod is CUE dependency management based on Go mods. - -### Module File - -The module file holds the requirements for project. -It is found in cue.mod/module.cue - ---- -// These are like golang import paths -// i.e. github.com/hofstadter-io/hof -module: "" -cue: "v0.5.0" - -// Required dependencies section -require: { - // "": "" - "github.com/hofstadter-io/ghacue": "v0.2.0" - "github.com/hofstadter-io/hofmod-cli": "v0.8.1" -} - -// Indirect dependencies (managed by hof) -indirect: { ... } - -// Replace dependencies with local or remote -replace: { - "github.com/hofstadter-io/ghacue": "github.com/myorg/ghacue": "v0.4.2" - "github.com/hofstadter-io/hofmod-cli": "../mods/clie" -} ---- - - -### Authentication and private modules - -hof mod prefers authenticated requests when fetching dependencies. -This increase rate limits with hosts and supports private modules. -Both token and sshkey base methods are supported, with preferences: - -1. Matching entry in .netrc - machine github.com - login github-token - password - -2. ENV VARS for well known hosts. - - GITHUB_TOKEN - GITLAB_TOKEN - BITBUCKET_USERNAME / BITBUCKET_PASSWORD or BITBUCKET_TOKEN - - The bitbucket method will depend on the account type and enterprise license. - -3. SSH keys - - the following are searched: ~/.ssh/config, /etc/ssh/config, ~/.ssh/id_rsa - - -### Usage - -there are two main commands you will use, init & tidy - -# Initialize the current folder as a module -hof mod init (like github.com/org/repo) - -# Refresh dependencies, discovering any new imports -hof mod tidy - -# Add a dependency -hof mod get github.com/hofstadter-io/hof@v0.6.8 -hof mod get github.com/hofstadter-io/hof@v0.6.8-beta.6 -hof mod get github.com/hofstadter-io/hof@latest // latest semver -hof mod get github.com/hofstadter-io/hof@next // next prerelease -hof mod get github.com/hofstadter-io/hof@main // latest commit on branch +func runCueCmd(args []string) { + c, _ := cuecmd.New(args) -# Update dependencies -hof mod get github.com/hofstadter-io/hof@latest -hof mod get all@latest + var buf bytes.Buffer -# Symlink dependencies from local cache -hof mod link + c.SetOutput(&buf) -# Copy dependency code from local cache -hof mod vendor + err := c.Run(context.Background()) -# Verify dependency code against cue.mod/sums.cue -hof mod verify + s := buf.String() + s = strings.Replace(s, "cue ", "hof ", -1) + fmt.Println(s) -# This helpful output -hof mod help - -` - -const modWarning = ` -WARNING: hof will be migrating to CUE modules in 0.7.x -We are doing this to work with the broader ecosystem. -Git based repos will need migration to continue working. - -Set HOF_DISABLE_MOD_WARNING=true to hide this message. -` - -func ModPersistentPreRun(args []string) (err error) { - disable := os.Getenv("HOF_DISABLE_MOD_WARNING") - if disable == "" { - disable = "false" - } - disabled, err := strconv.ParseBool(disable) if err != nil { - fmt.Fprintln(os.Stderr, err) - } - - if !disabled { - fmt.Fprintln(os.Stderr, modWarning) + fmt.Println(err) + os.Exit(1) } - - return nil } var ModCmd = &cobra.Command{ Use: "mod", - Aliases: []string{ - "m", - }, - Short: "CUE module dependency management", - Long: modLong, - - PersistentPreRun: func(cmd *cobra.Command, args []string) { - var err error - - // Argument Parsing + Long: "CUE module dependency management", - err = ModPersistentPreRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } + Run: func(cmd *cobra.Command, args []string) { + runCueCmd(append([]string{"mod"}, args...)) }, } -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := ModCmd.HelpFunc() - ousage := ModCmd.UsageFunc() - help := func(cmd *cobra.Command, args []string) { +var modsubs = []string{ + "edit", + "fix", + "get", + "init", + "publish", + "registry", + "resolve", + "tidy", +} +func init() { + ModCmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil + runCueCmd([]string{"mod", "--help"}) + }) + + for _, sub := range modsubs { + cmd := &cobra.Command{ + Use: sub, + Run: func(cmd *cobra.Command, args []string) { + runCueCmd(os.Args[1:]) + }, + FParseErrWhitelist: cobra.FParseErrWhitelist{ + UnknownFlags: true, + }, } - return ousage(cmd) - } + cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { + ga.SendCommandPath(cmd.CommandPath() + " help") + runCueCmd([]string{"mod", sub, "--help"}) + }) - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) + ModCmd.AddCommand(cmd) } - ModCmd.SetHelpFunc(thelp) - ModCmd.SetUsageFunc(tusage) - - ModCmd.AddCommand(cmdmod.InitCmd) - ModCmd.AddCommand(cmdmod.GetCmd) - ModCmd.AddCommand(cmdmod.VerifyCmd) - ModCmd.AddCommand(cmdmod.TidyCmd) - ModCmd.AddCommand(cmdmod.LinkCmd) - ModCmd.AddCommand(cmdmod.VendorCmd) - ModCmd.AddCommand(cmdmod.CleanCmd) - ModCmd.AddCommand(cmdmod.PublishCmd) } diff --git a/cmd/hof/cmd/mod/clean.go b/cmd/hof/cmd/mod/clean.go deleted file mode 100644 index 1cc8e29de..000000000 --- a/cmd/hof/cmd/mod/clean.go +++ /dev/null @@ -1,87 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var cleanLong = `clean hof's module cache` - -func CleanRun(args []string) (err error) { - - err = mod.Clean(flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var CleanCmd = &cobra.Command{ - - Use: "clean", - - Short: "clean hof's module cache", - - Long: cleanLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - err = CleanRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := CleanCmd.HelpFunc() - ousage := CleanCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - CleanCmd.SetHelpFunc(thelp) - CleanCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/get.go b/cmd/hof/cmd/mod/get.go deleted file mode 100644 index c6af0fbc7..000000000 --- a/cmd/hof/cmd/mod/get.go +++ /dev/null @@ -1,107 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var getLong = `add a new dependency to the current module` - -func init() { - - flags.SetupMod__GetFlags(GetCmd.Flags(), &(flags.Mod__GetFlags)) - -} - -func GetRun(module string) (err error) { - - err = mod.Get(module, flags.RootPflags, flags.Mod__GetFlags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var GetCmd = &cobra.Command{ - - Use: "get ", - - Short: "add a new dependency to the current module", - - Long: getLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - if 0 >= len(args) { - fmt.Println("missing required argument: 'module'") - cmd.Usage() - os.Exit(1) - } - - var module string - - if 0 < len(args) { - - module = args[0] - - } - - err = GetRun(module) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := GetCmd.HelpFunc() - ousage := GetCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - GetCmd.SetHelpFunc(thelp) - GetCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/init.go b/cmd/hof/cmd/mod/init.go deleted file mode 100644 index 67d182d1f..000000000 --- a/cmd/hof/cmd/mod/init.go +++ /dev/null @@ -1,101 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var initLong = `initialize a new module in the current directory` - -func InitRun(module string) (err error) { - - err = mod.Init(module, flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var InitCmd = &cobra.Command{ - - Use: "init ", - - Short: "initialize a new module in the current directory", - - Long: initLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - if 0 >= len(args) { - fmt.Println("missing required argument: 'module'") - cmd.Usage() - os.Exit(1) - } - - var module string - - if 0 < len(args) { - - module = args[0] - - } - - err = InitRun(module) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := InitCmd.HelpFunc() - ousage := InitCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - InitCmd.SetHelpFunc(thelp) - InitCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/link.go b/cmd/hof/cmd/mod/link.go deleted file mode 100644 index 780d60942..000000000 --- a/cmd/hof/cmd/mod/link.go +++ /dev/null @@ -1,87 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var linkLong = `symlink dependencies to cue.mod/pkg` - -func LinkRun(args []string) (err error) { - - err = mod.Link(flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var LinkCmd = &cobra.Command{ - - Use: "link", - - Short: "symlink dependencies to cue.mod/pkg", - - Long: linkLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - err = LinkRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := LinkCmd.HelpFunc() - ousage := LinkCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - LinkCmd.SetHelpFunc(thelp) - LinkCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/publish.go b/cmd/hof/cmd/mod/publish.go deleted file mode 100644 index 8c20880c1..000000000 --- a/cmd/hof/cmd/mod/publish.go +++ /dev/null @@ -1,93 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var publishLong = `publish a module` - -func PublishRun(module string) (err error) { - - if err = mod.Publish(module); err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var PublishCmd = &cobra.Command{ - Use: "publish ", - - Short: "publish a module", - - Long: publishLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - if 0 >= len(args) { - fmt.Println("missing required argument: 'module'") - cmd.Usage() - os.Exit(1) - } - - var module string - - if 0 < len(args) { - module = args[0] - } - - err = PublishRun(module) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - return false - } - - ohelp := PublishCmd.HelpFunc() - ousage := PublishCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - PublishCmd.SetHelpFunc(thelp) - PublishCmd.SetUsageFunc(tusage) -} diff --git a/cmd/hof/cmd/mod/tidy.go b/cmd/hof/cmd/mod/tidy.go deleted file mode 100644 index a1546faef..000000000 --- a/cmd/hof/cmd/mod/tidy.go +++ /dev/null @@ -1,87 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var tidyLong = `recalculate dependencies and update mod files` - -func TidyRun(args []string) (err error) { - - err = mod.Tidy(flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var TidyCmd = &cobra.Command{ - - Use: "tidy", - - Short: "recalculate dependencies and update mod files", - - Long: tidyLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - err = TidyRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := TidyCmd.HelpFunc() - ousage := TidyCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - TidyCmd.SetHelpFunc(thelp) - TidyCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/vendor.go b/cmd/hof/cmd/mod/vendor.go deleted file mode 100644 index 9fc081c91..000000000 --- a/cmd/hof/cmd/mod/vendor.go +++ /dev/null @@ -1,87 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var vendorLong = `copy dependencies to cue.mod/pkg` - -func VendorRun(args []string) (err error) { - - err = mod.Vendor(flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var VendorCmd = &cobra.Command{ - - Use: "vendor", - - Short: "copy dependencies to cue.mod/pkg", - - Long: vendorLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - err = VendorRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := VendorCmd.HelpFunc() - ousage := VendorCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - VendorCmd.SetHelpFunc(thelp) - VendorCmd.SetUsageFunc(tusage) - -} diff --git a/cmd/hof/cmd/mod/verify.go b/cmd/hof/cmd/mod/verify.go deleted file mode 100644 index a00cd392c..000000000 --- a/cmd/hof/cmd/mod/verify.go +++ /dev/null @@ -1,87 +0,0 @@ -package cmdmod - -import ( - "fmt" - "os" - - "github.com/spf13/cobra" - - "github.com/hofstadter-io/hof/lib/mod" - - "github.com/hofstadter-io/hof/cmd/hof/flags" - - "github.com/hofstadter-io/hof/cmd/hof/ga" -) - -var verifyLong = `verify integrity of dependencies` - -func VerifyRun(args []string) (err error) { - - err = mod.Verify(flags.RootPflags) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - - return err -} - -var VerifyCmd = &cobra.Command{ - - Use: "verify", - - Short: "verify integrity of dependencies", - - Long: verifyLong, - - Run: func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath()) - - var err error - - // Argument Parsing - - err = VerifyRun(args) - if err != nil { - fmt.Println(err) - os.Exit(1) - } - }, -} - -func init() { - extra := func(cmd *cobra.Command) bool { - - return false - } - - ohelp := VerifyCmd.HelpFunc() - ousage := VerifyCmd.UsageFunc() - - help := func(cmd *cobra.Command, args []string) { - - ga.SendCommandPath(cmd.CommandPath() + " help") - - if extra(cmd) { - return - } - ohelp(cmd, args) - } - usage := func(cmd *cobra.Command) error { - if extra(cmd) { - return nil - } - return ousage(cmd) - } - - thelp := func(cmd *cobra.Command, args []string) { - help(cmd, args) - } - tusage := func(cmd *cobra.Command) error { - return usage(cmd) - } - VerifyCmd.SetHelpFunc(thelp) - VerifyCmd.SetUsageFunc(tusage) - -} diff --git a/cue.mod/module.cue b/cue.mod/module.cue index 863bff9c1..9c2712603 100644 --- a/cue.mod/module.cue +++ b/cue.mod/module.cue @@ -1,6 +1,6 @@ module: "github.com/hofstadter-io/hof" language: { - version: "v0.9.2" + version: "v0.9.0" } custom: { legacy: { @@ -13,11 +13,3 @@ custom: { } } } - -// cue: "0.10.0" -// require: { -// "github.com/hofstadter-io/cuelm": "v0.1.1" -// "github.com/hofstadter-io/ghacue": "v0.2.0" -// "github.com/hofstadter-io/hofmod-cli": "v0.9.0" -// "github.com/hofstadter-io/supacode": "v0.0.7" -// } \ No newline at end of file diff --git a/go.mod b/go.mod index 8192aebea..915db51b9 100644 --- a/go.mod +++ b/go.mod @@ -140,6 +140,7 @@ require ( github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect + github.com/tetratelabs/wazero v1.6.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect github.com/vbatts/tar-split v0.11.5 // indirect @@ -169,6 +170,7 @@ require ( golang.org/x/sys v0.28.0 // indirect golang.org/x/term v0.27.0 // indirect golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.28.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect google.golang.org/grpc v1.69.0 // indirect diff --git a/go.sum b/go.sum index 9dda66daf..92c2a6e11 100644 --- a/go.sum +++ b/go.sum @@ -138,6 +138,8 @@ github.com/google/go-containerregistry v0.19.1 h1:yMQ62Al6/V0Z7CqIrrS1iYoA5/oQCm github.com/google/go-containerregistry v0.19.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo= github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= @@ -301,6 +303,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g= +github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=