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