package api
import "github.com/evanw/esbuild/pkg/api"
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 SourceMap
- type StderrColor
- type StdinOptions
- type Target
- type TransformOptions
- type TransformResult
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 JSXFactory string JSXFragment string Define map[string]string Pure []string AvoidTDZ 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 EntryPoints []string Stdin *StdinOptions Write bool Plugins []Plugin }
type BuildResult ¶
type BuildResult struct { Errors []Message Warnings []Message OutputFiles []OutputFile }
func Build ¶
func Build(options BuildOptions) BuildResult
type Charset ¶
type Charset uint8
type Engine ¶
type Engine struct { Name EngineName Version string }
type EngineName ¶
type EngineName uint8
const ( EngineChrome EngineName = iota EngineEdge EngineFirefox EngineIOS EngineNode EngineSafari )
type Format ¶
type Format uint8
type Loader ¶
type Loader uint8
const ( LoaderNone Loader = iota LoaderJS LoaderJSX LoaderTS LoaderTSX LoaderJSON LoaderText LoaderBase64 LoaderDataURL LoaderFile LoaderBinary LoaderCSS LoaderDefault )
type Location ¶
type Location struct { File string Namespace string Line int // 1-based Column int // 0-based, in bytes Length int // in bytes LineText string }
type LogLevel ¶
type LogLevel uint8
type Message ¶
type OnLoadArgs ¶
type OnLoadOptions ¶
type OnLoadResult ¶
type OnLoadResult struct { PluginName string Errors []Message Warnings []Message Contents *string ResolveDir string Loader Loader }
type OnResolveArgs ¶
type OnResolveOptions ¶
type OnResolveResult ¶
type OnResolveResult struct { PluginName string Errors []Message Warnings []Message Path string External bool Namespace string }
type OutputFile ¶
type Platform ¶
type Platform uint8
type Plugin ¶
type Plugin struct { Name string Setup func(PluginBuild) }
type PluginBuild ¶
type PluginBuild interface { OnResolve(options OnResolveOptions, callback func(OnResolveArgs) (OnResolveResult, error)) OnLoad(options OnLoadOptions, callback func(OnLoadArgs) (OnLoadResult, error)) }
type SourceMap ¶
type SourceMap uint8
type StderrColor ¶
type StderrColor uint8
const ( ColorIfTerminal StderrColor = iota ColorNever ColorAlways )
type StdinOptions ¶
type Target ¶
type Target uint8
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 JSXFactory string JSXFragment string TsconfigRaw string Define map[string]string Pure []string AvoidTDZ bool Sourcefile string Loader Loader }
type TransformResult ¶
func Transform ¶
func Transform(input string, options TransformOptions) TransformResult
Source Files ¶
- Version
- v0.8.2
- Published
- Nov 1, 2020
- Platform
- windows/amd64
- Imports
- 18 packages
- Last checked
- 4 hours ago –
Tools for package owners.