diff --git a/.gitignore b/.gitignore
index a7e119ee035e..96e153e8eb33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,4 @@ sticker-creator/**/*.js
sticker-creator/dist/*
/.idea
+/storybook-static/
diff --git a/.storybook/config.js b/.storybook/config.js
index d2bf3b882209..83ad39d5bed0 100644
--- a/.storybook/config.js
+++ b/.storybook/config.js
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
-import { addDecorator, configure } from '@storybook/react';
+import { addDecorator, addParameters, configure } from '@storybook/react';
import { withKnobs, boolean, optionsKnob } from '@storybook/addon-knobs';
import classnames from 'classnames';
import * as styles from './styles.scss';
@@ -126,6 +126,12 @@ addDecorator(Story => );
addDecorator(story => {story()});
+addParameters({
+ axe: {
+ disabledRules: ['html-has-lang'],
+ },
+});
+
configure(() => {
// Load main app stories
const tsComponentsContext = require.context(
diff --git a/package.json b/package.json
index 731d773b138a..74024aedb9d4 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
"dev:webpack": "cross-env NODE_ENV=development webpack-dev-server --hot",
"dev:typed-scss": "yarn build:typed-scss -w",
"dev:storybook": "cross-env SIGNAL_ENV=storybook start-storybook -p 6006 -s ./",
+ "storybook:axe": "build-storybook && axe-storybook",
"build": "run-s --print-label build:grunt build:typed-scss build:webpack build:release build:zip",
"build:acknowledgments": "node scripts/generate-acknowledgments.js",
"build:dev": "run-s --print-label build:grunt build:typed-scss build:webpack",
@@ -164,6 +165,7 @@
"@babel/plugin-transform-runtime": "7.8.3",
"@babel/preset-react": "7.7.4",
"@babel/preset-typescript": "7.7.7",
+ "@chanzuckerberg/axe-storybook-testing": "3.0.1",
"@storybook/addon-actions": "5.1.11",
"@storybook/addon-knobs": "5.1.11",
"@storybook/addons": "5.1.11",
@@ -262,6 +264,7 @@
"snyk": "1.316.1",
"spectron": "5.0.0",
"style-loader": "1.0.0",
+ "ts-dedent": "2.0.0",
"ts-loader": "4.1.0",
"ts-node": "8.3.0",
"typed-scss-modules": "0.0.11",
diff --git a/ts/util/lint/exceptions.json b/ts/util/lint/exceptions.json
index f5227a18db6e..224cd98c1f22 100644
--- a/ts/util/lint/exceptions.json
+++ b/ts/util/lint/exceptions.json
@@ -1583,6 +1583,275 @@
"updated": "2020-11-18T03:39:29.033Z",
"reasonDetail": "Protected from arbitrary input"
},
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/ansi-styles/index.js",
+ "line": "\t\t\tstyles[name] = wrap(identity, offset);",
+ "lineNumber": 52,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/ansi-styles/index.js",
+ "line": "\t\t\tstyles[name] = wrap(suite[targetSpace], offset);",
+ "lineNumber": 54,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/cliui/build/lib/index.js",
+ "line": " wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\\n');",
+ "lineNumber": 168,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/cliui/build/lib/string-utils.js",
+ "line": "export function wrap(str, width) {",
+ "lineNumber": 13,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-after(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/after.js",
+ "line": " * var done = _.after(saves.length, function() {",
+ "lineNumber": 21,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-after(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/after.js",
+ "line": "function after(n, func) {",
+ "lineNumber": 30,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/before.js",
+ "line": " * jQuery(element).on('click', _.before(5, addContactToList));",
+ "lineNumber": 20,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/before.js",
+ "line": "function before(n, func) {",
+ "lineNumber": 23,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/core.js",
+ "line": " * jQuery(element).on('click', _.before(5, addContactToList));",
+ "lineNumber": 2244,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/core.js",
+ "line": " function before(n, func) {",
+ "lineNumber": 2247,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/core.js",
+ "line": " return before(2, func);",
+ "lineNumber": 2397,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/core.js",
+ "line": " * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {",
+ "lineNumber": 3499,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/core.min.js",
+ "lineNumber": 15,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/fp/_baseConvert.js",
+ "line": " function wrap(name, func, placeholder) {",
+ "lineNumber": 468,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/fp/_baseConvert.js",
+ "line": " return wrap(name, func, defaultHolder);",
+ "lineNumber": 521,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/fp/_baseConvert.js",
+ "line": " pairs.push([key, wrap(key, func, _)]);",
+ "lineNumber": 531,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/iteratee.js",
+ "line": " * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {",
+ "lineNumber": 40,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-after(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " * var done = _.after(saves.length, function() {",
+ "lineNumber": 10049,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-after(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " function after(n, func) {",
+ "lineNumber": 10058,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " * jQuery(element).on('click', _.before(5, addContactToList));",
+ "lineNumber": 10107,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " function before(n, func) {",
+ "lineNumber": 10110,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " return before(2, func);",
+ "lineNumber": 10686,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " * var p = _.wrap(_.escape, function(func, text) {",
+ "lineNumber": 11017,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " function wrap(value, wrapper) {",
+ "lineNumber": 11024,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.js",
+ "line": " * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {",
+ "lineNumber": 15594,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.min.js",
+ "lineNumber": 14,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/lodash.min.js",
+ "lineNumber": 107,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-before(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/once.js",
+ "line": " return before(2, func);",
+ "lineNumber": 22,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/wrap.js",
+ "line": " * var p = _.wrap(_.escape, function(func, text) {",
+ "lineNumber": 19,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/lodash/wrap.js",
+ "line": "function wrap(value, wrapper) {",
+ "lineNumber": 26,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/yargs/build/lib/completion-templates.js",
+ "line": " type_list=$({{app_path}} --get-yargs-completions \"\\${args[@]}\")",
+ "lineNumber": 16,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/yargs/build/lib/completion-templates.js",
+ "line": " COMPREPLY=( $(compgen -W \"\\${type_list}\" -- \\${cur_word}) )",
+ "lineNumber": 18,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/yargs/build/lib/completion-templates.js",
+ "line": " IFS=$'\\n' reply=($(COMP_CWORD=\"$((CURRENT-1))\" COMP_LINE=\"$BUFFER\" COMP_POINT=\"$CURSOR\" {{app_path}} --get-yargs-completions \"\\${words[@]}\"))",
+ "lineNumber": 41,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-wrap(",
+ "path": "node_modules/@chanzuckerberg/axe-storybook-testing/node_modules/yargs/build/lib/yargs-factory.js",
+ "line": " usage.wrap(cols);",
+ "lineNumber": 751,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
{
"rule": "DOM-innerHTML",
"path": "node_modules/@electron/get/node_modules/@sindresorhus/is/dist/index.js",
@@ -6389,6 +6658,14 @@
"reasonCategory": "falseMatch",
"updated": "2020-08-11T15:42:35.324Z"
},
+ {
+ "rule": "jQuery-load(",
+ "path": "node_modules/jpeg-js/lib/decoder.js",
+ "line": " load: function load(path) {",
+ "lineNumber": 551,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
{
"rule": "eval",
"path": "node_modules/js-base64/base64.js",
@@ -11614,6 +11891,1432 @@
"reasonCategory": "falseMatch",
"updated": "2021-03-09T20:56:35.403Z"
},
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " async innerHTML() {",
+ "lineNumber": 90,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " return this._wrapApiCall('elementHandle.innerHTML', async (channel) => {",
+ "lineNumber": 91,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " return (await channel.innerHTML()).value;",
+ "lineNumber": 92,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " async $(selector) {",
+ "lineNumber": 221,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " async $$(selector) {",
+ "lineNumber": 226,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " async $eval(selector, pageFunction, arg) {",
+ "lineNumber": 232,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/elementHandle.js",
+ "line": " async $$eval(selector, pageFunction, arg) {",
+ "lineNumber": 238,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " async $(selector) {",
+ "lineNumber": 190,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " async $eval(selector, pageFunction, arg) {",
+ "lineNumber": 211,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " async $$eval(selector, pageFunction, arg) {",
+ "lineNumber": 218,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " async $$(selector) {",
+ "lineNumber": 225,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " async innerHTML(selector, options = {}) {",
+ "lineNumber": 313,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " return this._wrapApiCall(this._apiName('innerHTML'), async (channel) => {",
+ "lineNumber": 314,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/frame.js",
+ "line": " return (await channel.innerHTML({ selector, ...options })).value;",
+ "lineNumber": 315,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " async $(selector) {",
+ "lineNumber": 237,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " return this._attributeToPage(() => this._mainFrame.$(selector));",
+ "lineNumber": 238,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " async $eval(selector, pageFunction, arg) {",
+ "lineNumber": 250,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " return this._attributeToPage(() => this._mainFrame.$eval(selector, pageFunction, arg));",
+ "lineNumber": 252,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " async $$eval(selector, pageFunction, arg) {",
+ "lineNumber": 254,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " return this._attributeToPage(() => this._mainFrame.$$eval(selector, pageFunction, arg));",
+ "lineNumber": 256,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " async $$(selector) {",
+ "lineNumber": 258,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " return this._attributeToPage(() => this._mainFrame.$$(selector));",
+ "lineNumber": 259,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " async innerHTML(selector, options) {",
+ "lineNumber": 467,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/client/page.js",
+ "line": " return this._attributeToPage(() => this._mainFrame.innerHTML(selector, options));",
+ "lineNumber": 468,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/dispatchers/elementHandlerDispatcher.js",
+ "line": " async innerHTML(params, metadata) {",
+ "lineNumber": 52,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/dispatchers/elementHandlerDispatcher.js",
+ "line": " return { value: await this._elementHandle.innerHTML() };",
+ "lineNumber": 53,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/dispatchers/elementHandlerDispatcher.js",
+ "line": " const handle = await this._elementHandle.$(params.selector);",
+ "lineNumber": 127,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/dispatchers/elementHandlerDispatcher.js",
+ "line": " const elements = await this._elementHandle.$$(params.selector);",
+ "lineNumber": 131,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/dispatchers/frameDispatcher.js",
+ "line": " return { element: elementHandlerDispatcher_1.ElementHandleDispatcher.createNullable(this._scope, await this._frame.$(params.selector)) };",
+ "lineNumber": 75,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/dispatchers/frameDispatcher.js",
+ "line": " const elements = await this._frame.$$(params.selector);",
+ "lineNumber": 78,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/dispatchers/frameDispatcher.js",
+ "line": " async innerHTML(params, metadata) {",
+ "lineNumber": 115,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/dispatchers/frameDispatcher.js",
+ "line": " return { value: await this._frame.innerHTML(metadata, params.selector, params) };",
+ "lineNumber": 116,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/generated/consoleApiSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/generated/consoleApiSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/generated/injectedScriptSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/generated/injectedScriptSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/generated/recorderSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/generated/utilityScriptSource.js",
+ "lineNumber": 4,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/server/common/selectorParser.js",
+ "line": " append();",
+ "lineNumber": 87,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/server/common/selectorParser.js",
+ "line": " append();",
+ "lineNumber": 104,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-append(",
+ "path": "node_modules/playwright/lib/server/common/selectorParser.js",
+ "line": " append();",
+ "lineNumber": 112,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/server/dom.js",
+ "line": " async innerHTML() {",
+ "lineNumber": 177,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/server/dom.js",
+ "line": " return { value: element.innerHTML };",
+ "lineNumber": 182,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/dom.js",
+ "line": " async $(selector) {",
+ "lineNumber": 586,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/dom.js",
+ "line": " async $$(selector) {",
+ "lineNumber": 589,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/server/dom.js",
+ "line": " return element.innerHTML;",
+ "lineNumber": 889,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " async $(selector) {",
+ "lineNumber": 527,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " const handle = await this.$(selector);",
+ "lineNumber": 564,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " async $$(selector) {",
+ "lineNumber": 577,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-outerHTML",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " retVal += document.documentElement.outerHTML;",
+ "lineNumber": 587,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-document.write(",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " document.write(html);",
+ "lineNumber": 609,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " async innerHTML(metadata, selector, options = {}) {",
+ "lineNumber": 808,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " progress.log(` retrieving innerHTML from \"${selector}\"`);",
+ "lineNumber": 813,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " const element = await this.$(selector);",
+ "lineNumber": 840,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "eval",
+ "path": "node_modules/playwright/lib/server/frames.js",
+ "line": " let result = self.eval(expression);",
+ "lineNumber": 908,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-load(",
+ "path": "node_modules/playwright/lib/server/snapshot/snapshotStorage.js",
+ "line": " async load(tracePrefix, resourcesDir) {",
+ "lineNumber": 82,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-prepend(",
+ "path": "node_modules/playwright/lib/server/supplements/recorder/csharp.js",
+ "line": " prepend(text) {",
+ "lineNumber": 225,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-prepend(",
+ "path": "node_modules/playwright/lib/server/supplements/recorder/javascript.js",
+ "line": " prepend(text) {",
+ "lineNumber": 185,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-prepend(",
+ "path": "node_modules/playwright/lib/server/supplements/recorder/python.js",
+ "line": " prepend(text) {",
+ "lineNumber": 198,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-load(",
+ "path": "node_modules/playwright/lib/server/trace/viewer/traceViewer.js",
+ "line": " await snapshotStorage.load(tracePrefix, resourcesDir);",
+ "lineNumber": 81,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/third_party/highlightjs/highlightjs/core.js",
+ "line": " domProps: { innerHTML: this.highlighted }",
+ "lineNumber": 1160,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/third_party/highlightjs/highlightjs/core.js",
+ "line": " resultNode.innerHTML = result.value;",
+ "lineNumber": 1181,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/third_party/highlightjs/highlightjs/core.js",
+ "line": " block.innerHTML = block.innerHTML.replace(/\\n/g, '').replace(/
/g, '\\n');",
+ "lineNumber": 1944,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/third_party/highlightjs/highlightjs/core.js",
+ "line": " element.innerHTML = result.value;",
+ "lineNumber": 1979,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "jQuery-$(",
+ "path": "node_modules/playwright/lib/third_party/highlightjs/highlightjs/languages/javascript.js",
+ "line": " begin: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`",
+ "lineNumber": 567,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "React-dangerouslySetInnerHTML",
+ "path": "node_modules/playwright/lib/web/recorder/app.bundle.js",
+ "line": "var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular",
+ "lineNumber": 867,
+ "reasonCategory": "usageTrusted",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "DOM-innerHTML",
+ "path": "node_modules/playwright/lib/web/recorder/app.bundle.js",
+ "line": "'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];",
+ "lineNumber": 870,
+ "reasonCategory": "falseMatch",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "React-dangerouslySetInnerHTML",
+ "path": "node_modules/playwright/lib/web/recorder/app.bundle.js",
+ "line": " error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));",
+ "lineNumber": 1049,
+ "reasonCategory": "usageTrusted",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "React-dangerouslySetInnerHTML",
+ "path": "node_modules/playwright/lib/web/recorder/app.bundle.js",
+ "line": " if (!(props.dangerouslySetInnerHTML == null)) {",
+ "lineNumber": 2552,
+ "reasonCategory": "usageTrusted",
+ "updated": "2021-04-06T04:01:59.934Z"
+ },
+ {
+ "rule": "React-dangerouslySetInnerHTML",
+ "path": "node_modules/playwright/lib/web/recorder/app.bundle.js",
+ "line": " throw Error( \"`dangerouslySetInnerHTML` does not make sense on