eslint-plugin-escape
v1.0.0
Published
Autofixable escaping for non-printable and non-ASCII characters in strings
Downloads
62
Maintainers
Readme
eslint-plugin-escape
Autofixable escaping for non-printable and non-ASCII characters in strings.
Installation
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-escape
:
$ npm i eslint-plugin-escape --save-dev
Usage
Add escape
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["escape"]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"escape/escape": ["error", "non-printable"]
}
}
Options
This rule has two options, a string option and an object option.
String option:
"non-printable"
(default) requires non-printable characters to be escaped"non-ascii"
requires non-ASCII characters to be escaped
Object option:
"exact": true
requires an exact formatting- use the shortest possible form (but never octal)
- don't escape unnecessarily
- use lower case hexadecimal escape codes
non-printable
The "non-printable"
option requires non-printable characters to be escaped inside of all strings. This is the default option.
Because they're non-printable, it's difficult to demonstrate the problem.
Instead, here are examples of correct code for this rule with the default "non-printable"
option:
/* eslint escape/escape: ["error", "non-printable"] */
var nullCharacter = "\0";
var distance = "100\xa0km";
non-ascii
Examples of incorrect code for this rule with the "non-ascii"
option:
/* eslint escape/escape: ["error", "non-ascii"] */
var greeting = "¡Héłlõ, wöŕlð!";
Examples of correct code for this rule with the "non-ascii"
option:
/* eslint escape/escape: ["error", "non-ascii"] */
var greeting = "\xa1H\xe9\u0142l\xf5, w\xf6\u0155l\xf0!";
var distance = "100\xa0km";
exact
Examples of incorrect code for this rule with the "non-ascii", { "exact": true }
options:
/* eslint escape/escape: ["error", "non-ascii", { "exact": true }] */
var space = "\x20";
var newline = "\u000a";
var replacement = "\uFFFD";
Examples of correct code for this rule with the "non-ascii", { "exact": true }
options:
/* eslint escape/escape: ["error", "non-ascii", { "exact": true }] */
var space = " ";
var newline = "\n";
var replacement = "\ufffd";
License
Copyright Dan Wolff, MPL 2.0