Help us shape the future of Go! Take the 2026 Go Developer Survey

hexec

package
v0.153.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var WithContext = func(ctx context.Context) func(c *commandeer) {
	return func(c *commandeer) {
		c.ctx = ctx
	}
}
View Source
var WithDir = func(dir string) func(c *commandeer) {
	return func(c *commandeer) {
		c.dir = dir
	}
}
View Source
var WithEnviron = func(env []string) func(c *commandeer) {
	return func(c *commandeer) {
		setOrAppend := func(s string) {
			k1, _ := config.SplitEnvVar(s)
			var found bool
			for i, v := range c.env {
				k2, _ := config.SplitEnvVar(v)
				if k1 == k2 {
					found = true
					c.env[i] = s
				}
			}

			if !found {
				c.env = append(c.env, s)
			}
		}

		for _, s := range env {
			setOrAppend(s)
		}
	}
}
View Source
var WithStderr = func(w io.Writer) func(c *commandeer) {
	return func(c *commandeer) {
		c.stderr = w
	}
}
View Source
var WithStdin = func(r io.Reader) func(c *commandeer) {
	return func(c *commandeer) {
		c.stdin = r
	}
}
View Source
var WithStdout = func(w io.Writer) func(c *commandeer) {
	return func(c *commandeer) {
		c.stdout = w
	}
}

Functions

func InPath

func InPath(binaryName string) bool

InPath reports whether binaryName is in $PATH.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound reports whether this is an error about a binary not found.

func LookPath

func LookPath(binaryName string) string

LookPath finds the path to binaryName in $PATH. Returns "" if not found.

Types

type Exec

type Exec struct {
	// contains filtered or unexported fields
}

Exec enforces a security policy for commands run via os/exec.

func New

func New(cfg security.Config, workingDir string, log loggers.Logger) *Exec

New creates a new Exec using the provided security config.

func (*Exec) New

func (e *Exec) New(name string, arg ...any) (Runner, error)

func (*Exec) Npx

func (e *Exec) Npx(name string, arg ...any) (Runner, error)

Npx will in order: 1. Try fo find the binary in the WORKINGDIR/node_modules/.bin directory. 2. If not found, and npx is available, run npx --no-install <name> <args>. 3. Fall back to the PATH. If name is "tailwindcss", we will try the PATH as the second option.

func (*Exec) Sec

func (e *Exec) Sec() security.Config

Sec returns the security policies this Exec is configured with.

type NotFoundError

type NotFoundError struct {
	// contains filtered or unexported fields
}

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

type Runner

type Runner interface {
	Run() error
	StdinPipe() (io.WriteCloser, error)
}

Runner wraps a *os.Cmd.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL