Skip to content

Commit

Permalink
Merge pull request #252 from lumburr/feat/eslint
Browse files Browse the repository at this point in the history
feat: add eslint:recommended check
  • Loading branch information
leizongmin committed Mar 11, 2022
2 parents ed295ca + 1e34b3d commit 621b4c2
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 15 deletions.
18 changes: 18 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = {
"env": {
"browser": true,
"commonjs": true,
"es2021": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": "latest"
},
"globals": {
"DedicatedWorkerGlobalScope": "readonly",
},
"rules": {
"no-unused-vars": ["error", { "vars": "all", "args": "none" }],
}
}
8 changes: 4 additions & 4 deletions lib/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,11 +233,11 @@ var REGEXP_QUOTE_2 = /"/g;
var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
var REGEXP_ATTR_VALUE_COLON = /:?/gim;
var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
// var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;
var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;
// var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
// var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
Expand Down
4 changes: 2 additions & 2 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ function filterXSS(html, options) {
exports = module.exports = filterXSS;
exports.filterXSS = filterXSS;
exports.FilterXSS = FilterXSS;
for (var i in DEFAULT) exports[i] = DEFAULT[i];
for (var i in parser) exports[i] = parser[i];
for (let i in DEFAULT) exports[i] = DEFAULT[i];
for (let i in parser) exports[i] = parser[i];

// using `xss` on the browser, output `filterXSS` to the globals
if (typeof window !== "undefined") {
Expand Down
9 changes: 5 additions & 4 deletions lib/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@ var _ = require("./util");
* @return {String}
*/
function getTagName(html) {
var i = _.spaceIndex(html);
let i = _.spaceIndex(html);
let tagName;
if (i === -1) {
var tagName = html.slice(1, -1);
tagName = html.slice(1, -1);
} else {
var tagName = html.slice(1, i + 1);
tagName = html.slice(1, i + 1);
}
tagName = _.trim(tagName).toLowerCase();
if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
Expand Down Expand Up @@ -112,7 +113,7 @@ function parseTag(html, onTag, escapeHtml) {
return rethtml;
}

var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\.\-]/gim;
var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:.-]/gim;

/**
* parse input attributes and returns processed attributes
Expand Down
10 changes: 5 additions & 5 deletions lib/xss.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ FilterXSS.prototype.process = function (html) {
// if enable stripIgnoreTagBody
var stripIgnoreTagBody = false;
if (options.stripIgnoreTagBody) {
var stripIgnoreTagBody = DEFAULT.StripTagBody(
stripIgnoreTagBody = DEFAULT.StripTagBody(
options.stripIgnoreTagBody,
onIgnoreTag
);
Expand All @@ -148,7 +148,7 @@ FilterXSS.prototype.process = function (html) {
sourcePosition: sourcePosition,
position: position,
isClosing: isClosing,
isWhite: whiteList.hasOwnProperty(tag),
isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),
};

// call `onTag()`
Expand Down Expand Up @@ -178,21 +178,21 @@ FilterXSS.prototype.process = function (html) {
}
} else {
// call `onIgnoreTagAttr()`
var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
if (!isNull(ret)) return ret;
return;
}
});

// build new tag html
var html = "<" + tag;
html = "<" + tag;
if (attrsHtml) html += " " + attrsHtml;
if (attrs.closing) html += " /";
html += ">";
return html;
} else {
// call `onIgnoreTag()`
var ret = onIgnoreTag(tag, html, info);
ret = onIgnoreTag(tag, html, info);
if (!isNull(ret)) return ret;
return escapeHtml(html);
}
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"browserify": "^17.0.0",
"coveralls": "^3.1.0",
"debug": "^4.1.1",
"eslint": "^8.10.0",
"mocha": "^8.3.2",
"nyc": "^15.1.0",
"uglify-js": "^3.9.4"
Expand All @@ -34,6 +35,7 @@
"xss": "./bin/xss"
},
"scripts": {
"lint": "eslint lib/**",
"test": "export DEBUG=xss:* && mocha -t 5000",
"test-cov": "nyc --reporter=lcov mocha --exit \"test/*.js\" && nyc report",
"coveralls": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
Expand Down

0 comments on commit 621b4c2

Please sign in to comment.