{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/latest.json",
  "description": "Schema for bundleconfig.json files",
  "x-lintel": {
    "source": "https://www.schemastore.org/compilerconfig.json",
    "sourceSha256": "3937c3f7a291e85c0357a0d35c1d65a9f77bf84b3146acba3dc9c6e8f620b26e",
    "fileMatch": [
      "compilerconfig.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "type": "array",
  "items": {
    "$ref": "#/$defs/config"
  },
  "$defs": {
    "lessOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.less$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/less"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/cssMinify"
        }
      }
    },
    "sassOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.(scss|sass)$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/sass"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/cssMinify"
        }
      }
    },
    "stylusOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.styl$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/stylus"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/cssMinify"
        }
      }
    },
    "coffeeScriptOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.coffee$|\\.litcoffee$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/coffeeScript"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/javascriptMinify"
        }
      }
    },
    "icedCoffeeScriptOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.iced$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/coffeeScript"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/javascriptMinify"
        }
      }
    },
    "babelOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.(jsx|js|es6)$"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/javascriptMinify"
        }
      }
    },
    "handlebarsOptions": {
      "properties": {
        "inputFile": {
          "pattern": "\\.(hbs|handlebars)$"
        },
        "options": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/handlebars"
        },
        "minify": {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/javascriptMinify"
        }
      }
    },
    "config": {
      "required": [
        "outputFile",
        "inputFile"
      ],
      "properties": {
        "includeInProject": {
          "description": "Set to true to include the output file in the project. Doesn't work in some Visual Studio project types like ASP.NET 5 applications.",
          "type": "boolean",
          "default": true
        },
        "inputFile": {
          "description": "One or more relative file names to bundle.",
          "type": "string",
          "format": "compiler_relativepath"
        },
        "minify": {
          "description": "Specify options for minification of the output file.",
          "type": "object",
          "allOf": [
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/compilerconfig-json/_shared/latest--compilerdefaults.json#/$defs/baseMinify"
            }
          ]
        },
        "outputFile": {
          "description": "The relative path to the desired output file name.",
          "type": "string",
          "minLength": 1
        },
        "sourceMap": {
          "description": "DEPRECATED! Use 'options/sourceMap' instead.",
          "type": "boolean",
          "default": false
        }
      },
      "oneOf": [
        {
          "$ref": "#/$defs/lessOptions"
        },
        {
          "$ref": "#/$defs/sassOptions"
        },
        {
          "$ref": "#/$defs/stylusOptions"
        },
        {
          "$ref": "#/$defs/coffeeScriptOptions"
        },
        {
          "$ref": "#/$defs/icedCoffeeScriptOptions"
        },
        {
          "$ref": "#/$defs/babelOptions"
        },
        {
          "$ref": "#/$defs/handlebarsOptions"
        }
      ],
      "type": "object"
    }
  },
  "id": "https://json.schemastore.org/compilerconfig.json"
}
