{
  "filename": {
    "type": "filename",
    "description": "filename to use when reading from stdin - this will be used in source-maps, errors etc",
    "default": "unknown",
    "shorthand": "f"
  },

  "filenameRelative": {
    "hidden": true,
    "type": "string"
  },

  "inputSourceMap": {
    "hidden": true
  },

  "extra": {
    "hidden": true,
    "default": {}
  },

  "env": {
    "hidden": true,
    "default": {}
  },

  "moduleId": {
    "description": "specify a custom name for module ids",
    "type": "string"
  },

  "getModuleId": {
    "hidden": true
  },

  "retainLines": {
    "type": "boolean",
    "default": false,
    "description": "retain line numbers - will result in really ugly code"
  },

  "nonStandard": {
    "type": "boolean",
    "default": true,
    "description": "enable/disable support for JSX and Flow (on by default)"
  },

  "experimental": {
    "type": "boolean",
    "description": "allow use of experimental transformers",
    "default": false
  },

  "highlightCode": {
    "description": "enable/disable ANSI syntax highlighting of code frames (on by default)",
    "type": "boolean",
    "default": true
  },

  "suppressDeprecationMessages": {
    "type": "boolean",
    "default": false,
    "hidden": true
  },

  "resolveModuleSource": {
    "hidden": true
  },

  "stage": {
    "description": "ECMAScript proposal stage version to allow [0-4]",
    "shorthand": "e",
    "type": "number",
    "default": 2
  },

  "blacklist": {
    "type": "transformerList",
    "description": "blacklist of transformers to NOT use",
    "shorthand": "b",
    "default": []
  },

  "whitelist": {
    "type": "transformerList",
    "optional": true,
    "description": "whitelist of transformers to ONLY use",
    "shorthand": "l"
  },

  "optional": {
    "type": "transformerList",
    "description": "list of optional transformers to enable",
    "default": []
  },

  "modules": {
    "type": "string",
    "description": "module formatter type to use [common]",
    "default": "common",
    "shorthand": "m"
  },

  "moduleIds": {
    "type": "boolean",
    "default": false,
    "shorthand": "M",
    "description": "insert an explicit id for modules"
  },

  "loose": {
    "type": "transformerList",
    "description": "list of transformers to enable loose mode ON",
    "shorthand": "L"
  },

  "jsxPragma": {
    "type": "string",
    "description": "custom pragma to use with JSX (same functionality as @jsx comments)",
    "default": "React.createElement",
    "shorthand": "P"
  },

  "plugins": {
    "type": "list",
    "description": "",
    "default": []
  },

  "ignore": {
    "type": "list",
    "description": "list of glob paths to **not** compile",
    "default": []
  },

  "only": {
    "type": "list",
    "description": "list of glob paths to **only** compile"
  },

  "code": {
    "hidden": true,
    "default": true,
    "type": "boolean"
  },

  "metadata": {
    "hidden": true,
    "default": true,
    "type": "boolean"
  },

  "ast": {
    "hidden": true,
    "default": true,
    "type": "boolean"
  },

  "comments": {
    "type": "boolean",
    "default": true,
    "description": "strip/output comments in generated output (on by default)"
  },

  "shouldPrintComment": {
    "hidden": true,
    "description": "optional callback to control whether a comment should be inserted, when this is used the comments option is ignored"
  },

  "compact": {
    "type": "booleanString",
    "default": "auto",
    "description": "do not include superfluous whitespace characters and line terminators [true|false|auto]"
  },

  "keepModuleIdExtensions": {
    "type": "boolean",
    "description": "keep extensions when generating module ids",
    "default": false,
    "shorthand": "k"
  },

  "auxiliaryComment": {
    "deprecated": "renamed to auxiliaryCommentBefore",
    "shorthand": "a",
    "alias": "auxiliaryCommentBefore"
  },

  "auxiliaryCommentBefore": {
    "type": "string",
    "default": "",
    "description": "attach a comment before all helper declarations and auxiliary code"
  },

  "auxiliaryCommentAfter": {
    "type": "string",
    "default": "",
    "description": "attach a comment after all helper declarations and auxiliary code"
  },

  "externalHelpers": {
    "type": "boolean",
    "default": false,
    "shorthand": "r",
    "description": "uses a reference to `babelHelpers` instead of placing helpers at the top of your code."
  },

  "metadataUsedHelpers": {
    "deprecated": "Not required anymore as this is enabled by default",
    "type": "boolean",
    "default": false,
    "hidden": true
  },

  "sourceMap": {
    "alias": "sourceMaps",
    "hidden": true
  },

  "sourceMaps": {
    "type": "booleanString",
    "description": "[true|false|inline]",
    "default": false,
    "shorthand": "s"
  },

  "sourceMapName": {
    "alias": "sourceMapTarget",
    "description": "DEPRECATED - Please use sourceMapTarget"
  },

  "sourceMapTarget": {
    "type": "string",
    "description": "set `file` on returned source map"
  },

  "sourceFileName": {
    "type": "string",
    "description": "set `sources[0]` on returned source map"
  },

  "sourceRoot": {
    "type": "filename",
    "description": "the root from which all sources are relative"
  },

  "moduleRoot": {
    "type": "filename",
    "description": "optional prefix for the AMD module formatter that will be prepend to the filename on module definitions"
  },

  "breakConfig": {
    "type": "boolean",
    "default": false,
    "hidden": true,
    "description": "stop trying to load .babelrc files"
  },

  "babelrc": {
    "description": "Specify a custom list of babelrc files to use",
    "type": "list"
  }
}
