{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/jasmine/latest.json",
  "title": "Schema for jasmine JSON config file",
  "x-lintel": {
    "source": "https://www.schemastore.org/jasmine.json",
    "sourceSha256": "9452319708631d8ee53940a100cac69880019d83bef0240304d6901058b1b1a9",
    "fileMatch": [
      "jasmine.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "id": "https://json.schemastore.org/jasmine.json",
  "allOf": [
    {
      "$ref": "#/$defs/root-items"
    },
    {
      "type": "object",
      "properties": {
        "env": {
          "$ref": "#/$defs/env-items"
        }
      }
    },
    {
      "$ref": "#/$defs/env-items"
    }
  ],
  "$defs": {
    "root-items": {
      "type": "object",
      "required": [
        "spec_dir",
        "spec_files"
      ],
      "properties": {
        "spec_dir": {
          "description": "Spec directory path relative to the current working dir when jasmine is executed.",
          "type": "string",
          "default": ""
        },
        "spec_files": {
          "description": "Array of filepaths (and globs) relative to spec_dir to include and exclude.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "helpers": {
          "description": "Array of filepaths (and globs) relative to spec_dir to include before jasmine specs",
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        }
      }
    },
    "env-items": {
      "description": "Configuration of the Jasmine environment",
      "type": "object",
      "properties": {
        "autoCleanClosure": {
          "description": "Clean closures when a suite is done running (done by clearing the stored function reference). This prevents memory leaks, but you won't be able to run jasmine multiple times.",
          "type": "boolean",
          "default": false
        },
        "failSpecWithNoExpectations": {
          "description": "Whether to fail the spec if it ran no expectations. By default a spec that ran no expectations is reported as passed. Setting this to true will report such spec as a failure.",
          "type": "boolean",
          "default": false
        },
        "hideDisbaled": {
          "description": "Whether or not reporters should hide disabled specs from their output. Currently only supported by Jasmine's HTMLReporter.",
          "type": "boolean",
          "default": false
        },
        "random": {
          "description": "Whether to randomize spec execution order.",
          "type": "boolean",
          "default": true
        },
        "seed": {
          "description": "Seed to use as the basis of randomization. Null causes the seed to be determined randomly at the start of execution.",
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "stopOnSpecFailure": {
          "description": "Whether to stop execution of the suite after the first spec failure.",
          "type": "boolean",
          "default": false
        },
        "stopSpecOnExpectationFailure": {
          "description": "Whether to cause specs to only have one expectation failure.",
          "type": "boolean",
          "default": false
        },
        "verboseDeprication": {
          "description": "Whether or not to issue warnings for certain deprecated functionality every time it's used. If not set or set to false, deprecation warnings for methods that tend to be called frequently will be issued only once or otherwise throttled to to prevent the suite output from being flooded with warnings.",
          "type": "boolean",
          "default": false
        }
      }
    }
  }
}
