package cli

import "github.com/evanw/esbuild/pkg/cli"

This API exposes the command-line interface for esbuild. It can be used to run esbuild from Go without the overhead of creating a child process.

Example usage:

package main

import (
    "os"

    "github.com/evanw/esbuild/pkg/cli"
)

func main() {
    os.Exit(cli.Run(os.Args[1:]))
}

Index

Functions

func ParseBuildOptions

func ParseBuildOptions(osArgs []string) (options api.BuildOptions, err error)

This parses an array of strings into an options object suitable for passing to "api.Build()". Use this if you need to reuse the same argument parsing logic as the esbuild CLI.

Example usage:

options, err := cli.ParseBuildOptions([]string{
    "input.js",
    "--bundle",
    "--minify",
})

result := api.Build(options)

func ParseTransformOptions

func ParseTransformOptions(osArgs []string) (options api.TransformOptions, err error)

This parses an array of strings into an options object suitable for passing to "api.Transform()". Use this if you need to reuse the same argument parsing logic as the esbuild CLI.

Example usage:

options, err := cli.ParseTransformOptions([]string{
    "--minify",
    "--loader=tsx",
    "--define:DEBUG=false",
})

result := api.Transform(input, options)

func Run

func Run(osArgs []string) int

This function invokes the esbuild CLI. It takes an array of command-line arguments (excluding the executable argument itself) and returns an exit code. There are some minor differences between this CLI and the actual "esbuild" executable such as the lack of auxiliary flags (e.g. "--help" and "--version") but it is otherwise exactly the same code.

Source Files

cli.go cli_impl.go

Version
v0.8.0
Published
Oct 28, 2020
Platform
windows/amd64
Imports
8 packages
Last checked
4 hours ago

Tools for package owners.