{
  /*
   * ENVIRONMENTS
   * =================
   */

  // Define globals exposed by modern browsers.
  "browser": true,

  // Define globals exposed by jQuery.
  "jquery": true,

  // Define globals exposed by Node.js.
  "node": true,

  /*
   * ENFORCING OPTIONS
   * =================
   */

  // Force all variable names to use either camelCase style or UPPER_CASE
  // with underscores.
  "camelcase": true,

  // Prohibit use of == and != in favor of === and !==.
  "eqeqeq": true,

  // Suppress warnings about == null comparisons.
  "eqnull": true,

  // Enforce tab width of 4 spaces.
  "indent": 4,

  // Prohibit use of a variable before it is defined.
  "latedef": true,

  // Require capitalized names for constructor functions.
  "newcap": true,

  // Enforce use of single quotation marks for strings.
  "quotmark": "single",

  // Prohibit trailing whitespace.
  "trailing": true,

  // Prohibit use of explicitly undeclared variables.
  "undef": true,

  // Warn when variables are defined but never used.
  "unused": true,

  // Enforce placing 'use strict' at the top function scope
  "strict": true
}
