The --fix
option on the command line can automatically fix some of the problems reported by this rule.
The Unicode Byte Order Mark (BOM) is used to specify whether code units are big endian or little endian. That is, whether the most significant or least significant bytes come first. UTF-8 does not require a BOM because byte ordering does not matter when characters are a single byte. Since UTF-8 is the dominant encoding of the web, we make "never"
the default option.
If the "always"
option is used, this rule requires that files always begin with the Unicode BOM character U+FEFF. If "never"
is used, files must never begin with U+FEFF.
This rule has a string option:
"always"
files must begin with the Unicode BOM"never"
(default) files must not begin with the Unicode BOMExample of correct code for this rule with the "always"
option:
/*eslint unicode-bom: "error"*/ U+FEFF var abc;
Example of incorrect code for this rule with the "always"
option:
/*eslint unicode-bom: "error"*/ var abc;
Example of correct code for this rule with the default "never"
option:
/*eslint unicode-bom: ["error", "never"]*/ var abc;
Example of incorrect code for this rule with the "never"
option:
/*eslint unicode-bom: ["error", "never"]*/ U+FEFF var abc;
If you use some UTF-16 or UTF-32 files and you want to allow a file to optionally begin with a Unicode BOM, you should turn this rule off.
This rule was introduced in ESLint 2.11.0.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/unicode-bom