D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
etb1lp46s9ed
/
www
/
bulksender.dbcautomation.com
/
node_modules
/
eslint
/
lib
/
rules
/
Filename :
unicode-bom.js
back
Copy
/** * @fileoverview Require or disallow Unicode BOM * @author Andrew Johnston <https://github.com/ehjay> */ "use strict"; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ /** @type {import('../types').Rule.RuleModule} */ module.exports = { meta: { type: "layout", defaultOptions: ["never"], docs: { description: "Require or disallow Unicode byte order mark (BOM)", recommended: false, url: "https://eslint.org/docs/latest/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.sourceCode, location = { column: 0, line: 1 }; const [requireBOM] = context.options; 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]); }, }); } }, }; }, };