{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "allOf": [
    {
      "$ref": "#/definitions/coreProperties"
    },
    {
      "anyOf": [
        {
          "properties": {
            "env": {
              "description": "Sets the extractStyles property based on the value of NODE_ENV",
              "type": "object",
              "properties": {
                "development": {
                  "$ref": "#/definitions/extractStyling"
                },
                "production": {
                  "$ref": "#/definitions/extractStyling"
                }
              }
            }
          },
          "not": {
            "properties": {
              "extractStyles": {}
            },
            "required": ["extractStyles"]
          }
        },
        {
          "properties": {
            "extractStyles": {
              "$ref": "#/definitions/extractStyling/properties/extractStyles"
            }
          },
          "not": {
            "properties": {
              "env": {}
            },
            "required": ["env"]
          }
        }
      ]
    },
    {
      "required": ["bootstrapVersion", "styleLoaders"]
    }
  ],
  "definitions": {
    "extractStyling": {
      "type": "object",
      "properties": {
        "extractStyles": {
          "default": false,
          "description": "Enables/disables extraction of styles to a standalone CSS file using extract-text-webpack-plugin",
          "type": "boolean"
        }
      }
    },
    "coreProperties": {
      "type": "object",
      "properties": {
        "appStyles": {
          "description": "Import your custom styles here. Usually this endpoint file contains a list of @imports of your application styles.",
          "type": "string"
        },
        "bootstrapCustomizations": {
          "description": "The .scss file path to be loaded after Bootstrap's _variables.scss file",
          "type": "string"
        },
        "bootstrapVersion": {
          "default": 3,
          "description": "The major version of Bootstrap being used",
          "enum": [3, 4],
          "type": "integer"
        },
        "loglevel": {
          "description": "The verbosity of logging. Exclude this property to disable.",
          "enum": ["debug"],
          "type": "string"
        },
        "preBootstrapCustomizations": {
          "description": "The .scss file path to be loaded before Bootstrap's _variables.scss file",
          "type": "string"
        },
        "scripts": {
          "description": "Excludes/includes Bootstrap's JavaScript modules",
          "type": ["boolean", "object"]
        },
        "styleLoaders": {
          "default": ["style", "css", "sass"],
          "description": "An array of Webpack loader names. Order matters, and sass-loader is required.",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array",
          "uniqueItems": true
        },
        "styles": {
          "description": "Excludes/includes Bootstrap's CSS modules",
          "type": ["boolean", "object"]
        },
        "useCustomIconFontPath": {
          "default": false,
          "description": "Set to true if using a custom icon font and you need to specify its path in your Sass files",
          "type": "boolean"
        },
        "useFlexbox": {
          "default": true,
          "description": "Enables/disables the flexbox model available in Bootstrap 4",
          "type": "boolean"
        }
      }
    }
  },
  "id": "https://json.schemastore.org/bootstraprc.json",
  "title": "JSON schema for Webpack's bootstrap-loader configuration file",
  "type": "object"
}
