json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "Element Info",
      "description": "Info files for v3 elements.",
      "type": "object",
      "additionalProperties": false,
      "required": [
          "controller"
      ],
      "properties": {
          "controller": {
              "description": "The name of the element's controller file.",
              "type": "string"
          },
          "dependencies": {
              "description": "The element's client-side dependencies.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                  "coreStyles": {
                      "description": "The styles required by this element from /public/stylesheets.",
                      "type": "array",
                      "items": {
                          "description": "A .css file located in /public/stylesheets.",
                          "type": "string"
                      }
                  },
                  "coreScripts": {
                      "description": "The scripts required by this element from /public/javascripts.",
                      "type": "array",
                      "items": {
                          "description": "A .js file located in /public/javascripts.",
                          "type": "string"
                      }
                  },
                  "nodeModulesStyles": {
                      "description": "The styles required by this element from /node_modules.",
                      "type": "array",
                      "items": {
                          "description": "A .css file located in /node_modules.",
                          "type": "string"
                      }
                  },
                  "nodeModulesScripts": {
                      "description": "The scripts required by this element from /node_modules.",
                      "type": "array",
                      "items": {
                          "description": "A .js file located in /node_modules.",
                          "type": "string"
                      }
                  },
                  "clientFilesCourseStyles": {
                      "description": "The styles required by this element from clientFilesCourse.",
                      "type": "array",
                      "items": {
                          "description": "A .css file located in clientFilesCourse.",
                          "type": "string"
                      }
                  },
                  "clientFilesCourseScripts": {
                      "description": "The styles required by this element from clientFilesCourse.",
                      "type": "array",
                      "items": {
                          "description": "A .js file located in clientFilesCourse.",
                          "type": "string"
                      }
                  },
                  "elementStyles": {
                      "description": "The styles required by this element from the element's directory.",
                      "type": "array",
                      "items": {
                          "description": "A .css file located in the element's directory.",
                          "type": "string"
                      }
                  },
                  "elementScripts": {
                      "description": "The scripts required by this element from the element's directory.",
                      "type": "array",
                      "items": {
                          "description": "A .js file located in the element's directory.",
                          "type": "string"
                      }
                  }
              }
          }
      }
  }