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 (
"fmt"
"io/ioutil"
"github.com/evanw/esbuild/pkg/api"
)
func main() {
result := api.Build(api.BuildOptions{
EntryPoints: []string{"input.js"},
Outfile: "output.js",
Bundle: true,
})
fmt.Printf("%d errors and %d warnings\n",
len(result.Errors), len(result.Warnings))
for _, out := range result.OutputFiles {
ioutil.WriteFile(out.Path, out.Contents, 0644)
}
}
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.JS)
}
Index ¶
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
Strict StrictOptions
MinifyWhitespace bool
MinifyIdentifiers bool
MinifySyntax bool
JSXFactory string
JSXFragment string
Defines map[string]string
GlobalName string
Bundle bool
Splitting bool
Outfile string
Metafile string
Outdir string
Platform Platform
Format Format
Externals []string
Loaders map[string]Loader
ResolveExtensions []string
EntryPoints []string
}
type BuildResult ¶
type BuildResult struct {
Errors []Message
Warnings []Message
OutputFiles []OutputFile
}
func Build ¶
func Build(options BuildOptions) BuildResult
type OutputFile ¶
type StderrColor ¶
type StderrColor uint8
const ( ColorIfTerminal StderrColor = iota ColorNever ColorAlways )
type StrictOptions ¶ added in v0.5.9
type TransformOptions ¶
type TransformResult ¶
func Transform ¶
func Transform(input string, options TransformOptions) TransformResult