{
"name": "esbuild",
"description": "An extremely fast JavaScript bundler",
"options": [
{
"names": [
"--bundle"
],
"description": "Bundle all dependencies into the output files"
},
{
"names": [
"--define"
],
"description": "Replace variable names with a literal value, eg. --define:DEBUG=true",
"takes_arg": true,
"arg": {
"name": "name=value"
}
},
{
"names": [
"--external"
],
"description": "Exclude modules from the build",
"takes_arg": true,
"arg": {
"name": "module specifier"
}
},
{
"names": [
"--format"
],
"description": "The output format",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"iife",
"cjs",
"esm"
]
}
},
{
"names": [
"--loader"
],
"description": "For a given file extension, specify a loader",
"takes_arg": true,
"arg": {
"name": "loaders"
}
},
{
"names": [
"--minify"
],
"description": "Minify the output (sets all the --minify-* options)"
},
{
"names": [
"--outdir"
],
"description": "The output directory for multiple entrypoints",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"--outfile"
],
"description": "The output file for one entrypoint",
"takes_arg": true,
"arg": {
"name": "path",
"template": "filepaths"
}
},
{
"names": [
"--platform"
],
"description": "The platform target",
"takes_arg": true,
"arg": {
"name": "name",
"suggestions": [
"browser",
"node",
"neutral"
]
}
},
{
"names": [
"--serve"
],
"description": "Start a local HTTP server on this host:port",
"takes_arg": true,
"arg": {
"name": "[address:]port"
}
},
{
"names": [
"--splitting"
],
"description": "Enable code splitting"
},
{
"names": [
"--target"
],
"description": "Set the environment target. Can be a particular ES version or browser version, eg. chrome101",
"takes_arg": true,
"arg": {
"name": "target"
}
},
{
"names": [
"--watch"
],
"description": "Rebuild on file system changes",
"takes_arg": true,
"arg": {
"name": "forever",
"suggestions": [
"forever"
]
}
},
{
"names": [
"--allow-overwrite"
],
"description": "Allow output files to overwrite input files"
},
{
"names": [
"--analyze"
],
"description": "Print a report about the contents of the bundle",
"takes_arg": true,
"arg": {
"name": "verbose",
"suggestions": [
"verbose"
]
}
},
{
"names": [
"--asset-names"
],
"description": "Path template for 'file' loader files",
"takes_arg": true,
"arg": {
"name": "template"
}
},
{
"names": [
"--banner"
],
"description": "Text to be prepended to each output file type",
"takes_arg": true,
"arg": {
"name": "ext=text[,ext=text...]"
}
},
{
"names": [
"--charset"
],
"description": "Use UTF-8 instead of escaped codepoints in ASCII",
"takes_arg": true
},
{
"names": [
"--chunk-names"
],
"description": "Path template to use for code splitting chunks",
"takes_arg": true,
"arg": {
"name": "template"
}
},
{
"names": [
"--color"
],
"description": "Force use of terminal colors",
"takes_arg": true,
"arg": {
"name": "enabled",
"suggestions": [
"true",
"false"
]
}
},
{
"names": [
"--drop"
],
"description": "Remove certain constructs",
"takes_arg": true,
"arg": {
"suggestions": [
"console",
"debugger"
]
}
},
{
"names": [
"--entry-names"
],
"description": "Path template to use for entry point output paths",
"takes_arg": true,
"arg": {
"name": "template"
}
},
{
"names": [
"--footer"
],
"description": "Text to be appended to each file type",
"takes_arg": true,
"arg": {
"name": "ext=text"
}
},
{
"names": [
"--global-name"
],
"description": "The name of the global if using --format=iife",
"takes_arg": true,
"arg": {
"name": "name"
}
},
{
"names": [
"--ignore-annotations"
],
"description": "Enable this to work with packages that have incorrect tree-shaking annotations"
},
{
"names": [
"--inject"
],
"description": "Import the file into all input files, automatically replace matching globals",
"takes_arg": true,
"arg": {
"name": "import",
"template": "filepaths"
}
},
{
"names": [
"--jsx-factory"
],
"description": "What to use for the JSX factory",
"takes_arg": true,
"arg": {
"name": "factory",
"suggestions": [
"React.createElement",
"h",
"preact.h"
]
}
},
{
"names": [
"--jsx-fragment"
],
"description": "What to use for the JS Fragment factory",
"takes_arg": true,
"arg": {
"name": "fragment",
"suggestions": [
"React.Fragment",
"Fragment"
]
}
},
{
"names": [
"--jsx"
],
"description": "Preserve JSX instead of transforming",
"takes_arg": true,
"arg": {
"suggestions": [
"preserve",
"automatic"
]
}
},
{
"names": [
"--jsx-dev"
],
"description": "Toggles development mode for the automatic runtime"
},
{
"names": [
"--jsx-import-source"
],
"description": "Overrides the root import for runtime functions (default: react)",
"takes_arg": true,
"arg": {
"name": "source"
}
},
{
"names": [
"--keep-names"
],
"description": "Preserve 'name' on functions and classes"
},
{
"names": [
"--legal-comments"
],
"description": "Where to place legal comments",
"takes_arg": true,
"arg": {
"name": "location",
"suggestions": [
"none",
"inline",
"eof",
"linked",
"external"
]
}
},
{
"names": [
"--log-level"
],
"description": "Set the log level",
"takes_arg": true,
"arg": {
"name": "level",
"suggestions": [
"verbose",
"debug",
"info",
"warning",
"error",
"silent"
]
}
},
{
"names": [
"--log-limit"
],
"description": "Maximum message count, 0 to disable",
"takes_arg": true,
"arg": {
"name": "count"
}
},
{
"names": [
"--log-override"
],
"description": "For a particular identifier, set the log level",
"takes_arg": true,
"arg": {
"name": "identifier:level"
}
},
{
"names": [
"--main-fields"
],
"description": "Override the main file order in package.json",
"takes_arg": true,
"arg": {
"name": "field order"
}
},
{
"names": [
"--mangle-cache"
],
"description": "Save 'mangle props' decisions to a JSON file",
"takes_arg": true,
"arg": {
"name": "path",
"template": "filepaths"
}
},
{
"names": [
"--mangle-props"
],
"description": "Rename all properties matching a regular expression",
"takes_arg": true,
"arg": {
"name": "regex"
}
},
{
"names": [
"--mangle-quoted"
],
"description": "Enable mangling (renaming) quoted properties",
"takes_arg": true,
"arg": {
"name": "status",
"suggestions": [
"true",
"false"
]
}
},
{
"names": [
"--metafile"
],
"description": "Write metadata about the build to a JSON file",
"takes_arg": true,
"arg": {
"name": "path",
"template": "filepaths"
}
},
{
"names": [
"--minify-whitespace"
],
"description": "Remove unnecessary whitespace in output files"
},
{
"names": [
"--minify-identifiers"
],
"description": "Shorten identifiers in output files"
},
{
"names": [
"--minify-syntax"
],
"description": "Use equivalent but shorter syntax in output files"
},
{
"names": [
"--out-extension"
],
"description": "Use a custom output extension for each extension",
"takes_arg": true,
"arg": {
"name": "ext=new"
}
},
{
"names": [
"--outbase"
],
"description": "Base path used to determine entrypoint output paths, for multiple entrypoints",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"--preserve-symlinks"
],
"description": "Disable symlink resolution"
},
{
"names": [
"--public-path"
],
"description": "Set the base URL for the 'file' loader",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"--pure"
],
"description": "Mark the name as a pure function for tree shaking",
"takes_arg": true,
"arg": {
"name": "name"
}
},
{
"names": [
"--reserve-props"
],
"description": "Do not mangle these properties",
"takes_arg": true,
"arg": {
"name": "properties"
}
},
{
"names": [
"--resolve-extensions"
],
"description": "Comma-separated list of implicit extensions",
"takes_arg": true,
"arg": {
"name": "extensions"
}
},
{
"names": [
"--servedir"
],
"description": "What to serve in addition to the generated output files",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"--source-root"
],
"description": "Set the sourceRoot field in generated source maps",
"takes_arg": true,
"arg": {
"name": "URL"
}
},
{
"names": [
"--sourcefile"
],
"description": "Set the source file for the source map if there's no file name to use",
"takes_arg": true,
"arg": {
"name": "name"
}
},
{
"names": [
"--sourcemap"
],
"description": "Generate source maps?",
"takes_arg": true,
"arg": {
"name": "options",
"suggestions": [
"external",
"inline"
]
}
},
{
"names": [
"--sources-content"
],
"description": "Omit the sourcesContent field in generated source maps",
"takes_arg": true,
"arg": {
"suggestions": [
"false"
]
}
},
{
"names": [
"--supported"
],
"description": "Consider a given syntax to be supported",
"takes_arg": true,
"arg": {
"name": "syntax=status"
}
},
{
"names": [
"--tree-shaking"
],
"description": "Force tree shaking on or off",
"takes_arg": true,
"arg": {
"name": "status",
"suggestions": [
"true",
"false"
]
}
},
{
"names": [
"--tsconfig"
],
"description": "Use this TypeScript config instead of the default",
"takes_arg": true,
"arg": {
"name": "path",
"template": "filepaths"
}
},
{
"names": [
"--version"
],
"description": "Print the current version and exit"
}
],
"args": [
{
"name": "entry points",
"is_variadic": true,
"template": "filepaths"
}
]
}