Documentation ¶
Overview ¶
This API exposes esbuild's two main operations: building and transforming. It's intended for integrating esbuild into other tools as a library.
If you are just trying to run esbuild from Go without the overhead of creating a child process, there is also an API for the command-line interface itself: https://godoc.org/github.com/evanw/esbuild/pkg/cli.
Build API ¶
This function runs an end-to-end build operation. It takes an array of file paths as entry points, parses them and all of their dependencies, and returns the output files to write to the file system. The available options roughly correspond to esbuild's command-line flags.
Example usage:
package main import ( "os" "github.com/evanw/esbuild/pkg/api" ) func main() { result := api.Build(api.BuildOptions{ EntryPoints: []string{"input.js"}, Outfile: "output.js", Bundle: true, Write: true, LogLevel: api.LogLevelInfo, }) if len(result.Errors) > 0 { os.Exit(1) } }
Transform API ¶
This function transforms a string of source code into JavaScript. It can be used to minify JavaScript, convert TypeScript/JSX to JavaScript, or convert newer JavaScript to older JavaScript. The available options roughly correspond to esbuild's command-line flags.
Example usage:
package main import ( "fmt" "os" "github.com/evanw/esbuild/pkg/api" ) func main() { jsx := ` import * as React from 'react' import * as ReactDOM from 'react-dom' ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('root') ); ` result := api.Transform(jsx, api.TransformOptions{ Loader: api.LoaderJSX, }) fmt.Printf("%d errors and %d warnings\n", len(result.Errors), len(result.Warnings)) os.Stdout.Write(result.Code) }
Index ¶
- type BuildOptions
- type BuildResult
- type Charset
- type Engine
- type EngineName
- type Format
- type Loader
- type Location
- type LogLevel
- type Message
- type OnLoadArgs
- type OnLoadOptions
- type OnLoadResult
- type OnResolveArgs
- type OnResolveOptions
- type OnResolveResult
- type OutputFile
- type Platform
- type Plugin
- type PluginBuild
- type ServeOnRequestArgs
- type ServeOptions
- type ServeResult
- type SourceMap
- type StderrColor
- type StdinOptions
- type Target
- type TransformOptions
- type TransformResult
- type TreeShaking
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildOptions ¶
type BuildOptions struct { Color StderrColor ErrorLimit int LogLevel LogLevel Sourcemap SourceMap Target Target Engines []Engine MinifyWhitespace bool MinifyIdentifiers bool MinifySyntax bool Charset Charset TreeShaking TreeShaking JSXFactory string JSXFragment string Define map[string]string Pure []string AvoidTDZ bool KeepNames bool GlobalName string Bundle bool Splitting bool Outfile string Metafile string Outdir string Outbase string Platform Platform Format Format External []string MainFields []string Loader map[string]Loader ResolveExtensions []string Tsconfig string OutExtensions map[string]string PublicPath string Inject []string Banner string EntryPoints []string Stdin *StdinOptions Write bool Incremental bool Plugins []Plugin }
type BuildResult ¶
type BuildResult struct { Errors []Message Warnings []Message OutputFiles []OutputFile Rebuild func() BuildResult }
func Build ¶
func Build(options BuildOptions) BuildResult
type Engine ¶ added in v0.5.25
type Engine struct { Name EngineName Version string }
type EngineName ¶ added in v0.5.25
type EngineName uint8
const ( EngineChrome EngineName = iota EngineEdge EngineFirefox EngineIOS EngineNode EngineSafari )
type OnLoadArgs ¶ added in v0.8.1
type OnLoadOptions ¶ added in v0.8.1
type OnLoadResult ¶ added in v0.8.1
type OnResolveArgs ¶ added in v0.8.1
type OnResolveOptions ¶ added in v0.8.1
type OnResolveResult ¶ added in v0.8.1
type OutputFile ¶
type Plugin ¶ added in v0.8.1
type Plugin struct { Name string Setup func(PluginBuild) }
type PluginBuild ¶ added in v0.8.1
type PluginBuild interface { OnResolve(options OnResolveOptions, callback func(OnResolveArgs) (OnResolveResult, error)) OnLoad(options OnLoadOptions, callback func(OnLoadArgs) (OnLoadResult, error)) }
type ServeOnRequestArgs ¶ added in v0.8.12
type ServeOptions ¶ added in v0.8.12
type ServeOptions struct { Port uint16 OnRequest func(ServeOnRequestArgs) }
type ServeResult ¶ added in v0.8.12
func Serve ¶ added in v0.8.12
func Serve(serveOptions ServeOptions, buildOptions BuildOptions) (ServeResult, error)
type StderrColor ¶
type StderrColor uint8
const ( ColorIfTerminal StderrColor = iota ColorNever ColorAlways )
type StdinOptions ¶ added in v0.6.1
type TransformOptions ¶
type TransformOptions struct { Color StderrColor ErrorLimit int LogLevel LogLevel Sourcemap SourceMap Target Target Format Format GlobalName string Engines []Engine MinifyWhitespace bool MinifyIdentifiers bool MinifySyntax bool Charset Charset TreeShaking TreeShaking JSXFactory string JSXFragment string TsconfigRaw string Banner string Define map[string]string Pure []string AvoidTDZ bool KeepNames bool Sourcefile string Loader Loader }
type TransformResult ¶
func Transform ¶
func Transform(input string, options TransformOptions) TransformResult
type TreeShaking ¶ added in v0.8.10
type TreeShaking uint8
const ( TreeShakingDefault TreeShaking = iota TreeShakingIgnoreAnnotations )