| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- /**
 
-  * @fileoverview Require or disallow Unicode BOM
 
-  * @author Andrew Johnston <https://github.com/ehjay>
 
-  */
 
- "use strict";
 
- //------------------------------------------------------------------------------
 
- // Rule Definition
 
- //------------------------------------------------------------------------------
 
- module.exports = {
 
-     meta: {
 
-         type: "layout",
 
-         docs: {
 
-             description: "require or disallow Unicode byte order mark (BOM)",
 
-             category: "Stylistic Issues",
 
-             recommended: false,
 
-             url: "https://eslint.org/docs/rules/unicode-bom"
 
-         },
 
-         fixable: "whitespace",
 
-         schema: [
 
-             {
 
-                 enum: ["always", "never"]
 
-             }
 
-         ],
 
-         messages: {
 
-             expected: "Expected Unicode BOM (Byte Order Mark).",
 
-             unexpected: "Unexpected Unicode BOM (Byte Order Mark)."
 
-         }
 
-     },
 
-     create(context) {
 
-         //--------------------------------------------------------------------------
 
-         // Public
 
-         //--------------------------------------------------------------------------
 
-         return {
 
-             Program: function checkUnicodeBOM(node) {
 
-                 const sourceCode = context.getSourceCode(),
 
-                     location = { column: 0, line: 1 },
 
-                     requireBOM = context.options[0] || "never";
 
-                 if (!sourceCode.hasBOM && (requireBOM === "always")) {
 
-                     context.report({
 
-                         node,
 
-                         loc: location,
 
-                         messageId: "expected",
 
-                         fix(fixer) {
 
-                             return fixer.insertTextBeforeRange([0, 1], "\uFEFF");
 
-                         }
 
-                     });
 
-                 } else if (sourceCode.hasBOM && (requireBOM === "never")) {
 
-                     context.report({
 
-                         node,
 
-                         loc: location,
 
-                         messageId: "unexpected",
 
-                         fix(fixer) {
 
-                             return fixer.removeRange([-1, 0]);
 
-                         }
 
-                     });
 
-                 }
 
-             }
 
-         };
 
-     }
 
- };
 
 
  |