wikimedia/portals: main (log #1656884)

sourcepatches

This run took 2717 seconds.

$ date
--- stdout ---
Tue Dec 10 05:02:17 UTC 2024

--- end ---
$ git clone file:///srv/git/wikimedia-portals.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'prod' (https://gerrit.wikimedia.org/r/wikimedia/portals/deploy) registered for path 'prod'
Cloning into '/src/repo/prod'...
--- stdout ---
Submodule path 'prod': checked out 'ae1009042ab69b0ea76ce04463cb917416567f94'

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
cb1a491454473dc9cf21427b252d68f7d4e728c5 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@koa/cors": {
      "name": "@koa/cors",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095223,
          "name": "@koa/cors",
          "dependency": "@koa/cors",
          "title": "Overly permissive origin policy",
          "url": "https://github.com/advisories/GHSA-qxrj-hx23-xp82",
          "severity": "high",
          "cwe": [
            "CWE-346"
          ],
          "cvss": {
            "score": 8.6,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N"
          },
          "range": "<5.0.0"
        }
      ],
      "effects": [
        "es-dev-server"
      ],
      "range": "<5.0.0",
      "nodes": [
        "node_modules/@koa/cors"
      ],
      "fixAvailable": true
    },
    "anymatch": {
      "name": "anymatch",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "chokidar",
        "glob-watcher"
      ],
      "range": "1.2.0 - 2.0.0",
      "nodes": [
        "node_modules/glob-watcher/node_modules/anymatch"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "autoprefixer": {
      "name": "autoprefixer",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss",
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "1.0.20131222 - 9.8.8",
      "nodes": [
        "node_modules/autoprefixer",
        "node_modules/stylelint/node_modules/autoprefixer"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "axios": {
      "name": "axios",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098583,
          "name": "axios",
          "dependency": "axios",
          "title": "Server-Side Request Forgery in axios",
          "url": "https://github.com/advisories/GHSA-8hc4-vh64-cxmj",
          "severity": "high",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=1.3.2 <=1.7.3"
        }
      ],
      "effects": [
        "github-build"
      ],
      "range": "1.3.2 - 1.7.3",
      "nodes": [
        "node_modules/axios",
        "node_modules/github-build/node_modules/axios"
      ],
      "fixAvailable": true
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [
        "chokidar",
        "micromatch"
      ],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/findup-sync/node_modules/braces",
        "node_modules/glob-watcher/node_modules/braces",
        "node_modules/matchdep/node_modules/braces"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "browserslist-useragent": {
      "name": "browserslist-useragent",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "useragent"
      ],
      "effects": [],
      "range": "<=3.1.4",
      "nodes": [
        "node_modules/browserslist-useragent"
      ],
      "fixAvailable": true
    },
    "bundlesize": {
      "name": "bundlesize",
      "severity": "high",
      "isDirect": true,
      "via": [
        "github-build"
      ],
      "effects": [],
      "range": "0.18.2",
      "nodes": [
        "node_modules/bundlesize"
      ],
      "fixAvailable": true
    },
    "cheerio": {
      "name": "cheerio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select",
        "lodash.pick"
      ],
      "effects": [
        "gulp-inline"
      ],
      "range": "0.19.0 - 1.0.0-rc.3",
      "nodes": [
        "node_modules/cheerio"
      ],
      "fixAvailable": {
        "name": "gulp-inline",
        "version": "0.1.2",
        "isSemVerMajor": true
      }
    },
    "chokidar": {
      "name": "chokidar",
      "severity": "high",
      "isDirect": false,
      "via": [
        "anymatch",
        "braces",
        "readdirp"
      ],
      "effects": [
        "glob-watcher"
      ],
      "range": "1.3.0 - 2.1.8",
      "nodes": [
        "node_modules/glob-watcher/node_modules/chokidar"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "color": {
      "name": "color",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "color-string"
      ],
      "effects": [
        "css-color-function"
      ],
      "range": "<=0.11.4",
      "nodes": [
        "node_modules/color"
      ],
      "fixAvailable": true
    },
    "color-string": {
      "name": "color-string",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089718,
          "name": "color-string",
          "dependency": "color-string",
          "title": "Regular Expression Denial of Service (ReDOS)",
          "url": "https://github.com/advisories/GHSA-257v-vj4p-3w2h",
          "severity": "moderate",
          "cwe": [
            "CWE-770"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<1.5.5"
        }
      ],
      "effects": [
        "color"
      ],
      "range": "<1.5.5",
      "nodes": [
        "node_modules/color/node_modules/color-string"
      ],
      "fixAvailable": true
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1100562,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        },
        {
          "source": 1100563,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=7.0.0 <7.0.5"
        }
      ],
      "effects": [
        "pre-commit"
      ],
      "range": "<6.0.6 || >=7.0.0 <7.0.5",
      "nodes": [
        "node_modules/cross-spawn",
        "node_modules/pre-commit/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "1.0.10",
        "isSemVerMajor": true
      }
    },
    "css-color-function": {
      "name": "css-color-function",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "color"
      ],
      "effects": [
        "postcss-color-function"
      ],
      "range": "*",
      "nodes": [
        "node_modules/css-color-function"
      ],
      "fixAvailable": true
    },
    "css-declaration-sorter": {
      "name": "css-declaration-sorter",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=5.1.2",
      "nodes": [
        "node_modules/css-declaration-sorter"
      ],
      "fixAvailable": true
    },
    "css-select": {
      "name": "css-select",
      "severity": "high",
      "isDirect": false,
      "via": [
        "nth-check"
      ],
      "effects": [
        "cheerio",
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select",
        "node_modules/svgo/node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "gulp-inline",
        "version": "0.1.2",
        "isSemVerMajor": true
      }
    },
    "cssnano": {
      "name": "cssnano",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "cssnano-preset-default",
        "postcss"
      ],
      "effects": [],
      "range": "<=4.1.11",
      "nodes": [
        "node_modules/cssnano"
      ],
      "fixAvailable": {
        "name": "cssnano",
        "version": "7.0.6",
        "isSemVerMajor": true
      }
    },
    "cssnano-preset-default": {
      "name": "cssnano-preset-default",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "css-declaration-sorter",
        "cssnano-util-raw-cache",
        "postcss",
        "postcss-calc",
        "postcss-colormin",
        "postcss-convert-values",
        "postcss-discard-comments",
        "postcss-discard-duplicates",
        "postcss-discard-empty",
        "postcss-discard-overridden",
        "postcss-merge-longhand",
        "postcss-merge-rules",
        "postcss-minify-font-values",
        "postcss-minify-gradients",
        "postcss-minify-params",
        "postcss-minify-selectors",
        "postcss-normalize-charset",
        "postcss-normalize-display-values",
        "postcss-normalize-positions",
        "postcss-normalize-repeat-style",
        "postcss-normalize-string",
        "postcss-normalize-timing-functions",
        "postcss-normalize-unicode",
        "postcss-normalize-url",
        "postcss-normalize-whitespace",
        "postcss-ordered-values",
        "postcss-reduce-initial",
        "postcss-reduce-transforms",
        "postcss-svgo",
        "postcss-unique-selectors"
      ],
      "effects": [
        "cssnano"
      ],
      "range": "<=4.0.8",
      "nodes": [
        "node_modules/cssnano-preset-default"
      ],
      "fixAvailable": {
        "name": "cssnano",
        "version": "7.0.6",
        "isSemVerMajor": true
      }
    },
    "cssnano-util-raw-cache": {
      "name": "cssnano-util-raw-cache",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/cssnano-util-raw-cache"
      ],
      "fixAvailable": true
    },
    "es-dev-server": {
      "name": "es-dev-server",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@koa/cors",
        "browserslist-useragent",
        "useragent"
      ],
      "effects": [],
      "range": ">=1.24.1",
      "nodes": [
        "node_modules/es-dev-server"
      ],
      "fixAvailable": true
    },
    "findup-sync": {
      "name": "findup-sync",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "liftoff",
        "matchdep"
      ],
      "range": "0.4.0 - 3.0.0",
      "nodes": [
        "node_modules/findup-sync",
        "node_modules/matchdep/node_modules/findup-sync"
      ],
      "fixAvailable": true
    },
    "github-build": {
      "name": "github-build",
      "severity": "high",
      "isDirect": false,
      "via": [
        "axios"
      ],
      "effects": [
        "bundlesize"
      ],
      "range": ">=1.2.4",
      "nodes": [
        "node_modules/github-build"
      ],
      "fixAvailable": true
    },
    "glob-watcher": {
      "name": "glob-watcher",
      "severity": "high",
      "isDirect": false,
      "via": [
        "anymatch",
        "chokidar"
      ],
      "effects": [
        "gulp"
      ],
      "range": "5.0.0 - 5.0.5",
      "nodes": [
        "node_modules/glob-watcher"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "gulp": {
      "name": "gulp",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob-watcher",
        "gulp-cli"
      ],
      "effects": [],
      "range": "4.0.0 - 4.0.2",
      "nodes": [
        "node_modules/gulp"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "gulp-cli": {
      "name": "gulp-cli",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "liftoff",
        "matchdep"
      ],
      "effects": [],
      "range": "1.3.0 - 2.3.0",
      "nodes": [
        "node_modules/gulp-cli"
      ],
      "fixAvailable": true
    },
    "gulp-compile-handlebars": {
      "name": "gulp-compile-handlebars",
      "severity": "high",
      "isDirect": true,
      "via": [
        "gulp-util"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/gulp-compile-handlebars"
      ],
      "fixAvailable": false
    },
    "gulp-htmlmin": {
      "name": "gulp-htmlmin",
      "severity": "high",
      "isDirect": true,
      "via": [
        "html-minifier"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/gulp-htmlmin"
      ],
      "fixAvailable": false
    },
    "gulp-inline": {
      "name": "gulp-inline",
      "severity": "high",
      "isDirect": true,
      "via": [
        "cheerio",
        "gulp-util"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/gulp-inline"
      ],
      "fixAvailable": {
        "name": "gulp-inline",
        "version": "0.1.2",
        "isSemVerMajor": true
      }
    },
    "gulp-postcss": {
      "name": "gulp-postcss",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=8.0.0",
      "nodes": [
        "node_modules/gulp-postcss"
      ],
      "fixAvailable": {
        "name": "gulp-postcss",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "gulp-svg-sprite": {
      "name": "gulp-svg-sprite",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "svg-sprite"
      ],
      "effects": [],
      "range": "1.3.0 - 1.5.0",
      "nodes": [
        "node_modules/gulp-svg-sprite"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "gulp-util": {
      "name": "gulp-util",
      "severity": "high",
      "isDirect": false,
      "via": [
        "lodash.template"
      ],
      "effects": [
        "gulp-compile-handlebars",
        "gulp-inline"
      ],
      "range": ">=1.1.0",
      "nodes": [
        "node_modules/gulp-util"
      ],
      "fixAvailable": false
    },
    "html-minifier": {
      "name": "html-minifier",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1100303,
          "name": "html-minifier",
          "dependency": "html-minifier",
          "title": "kangax html-minifier REDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-pfq8-rq6v-vf5m",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<=4.0.0"
        }
      ],
      "effects": [
        "gulp-htmlmin"
      ],
      "range": "*",
      "nodes": [
        "node_modules/html-minifier"
      ],
      "fixAvailable": false
    },
    "liftoff": {
      "name": "liftoff",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "findup-sync"
      ],
      "effects": [
        "gulp-cli"
      ],
      "range": "2.2.3 - 3.1.0",
      "nodes": [
        "node_modules/liftoff"
      ],
      "fixAvailable": true
    },
    "lodash.pick": {
      "name": "lodash.pick",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096303,
          "name": "lodash.pick",
          "dependency": "lodash.pick",
          "title": "Prototype Pollution in lodash",
          "url": "https://github.com/advisories/GHSA-p6mc-m468-83gw",
          "severity": "high",
          "cwe": [
            "CWE-770",
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.4,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H"
          },
          "range": ">=4.0.0 <=4.4.0"
        }
      ],
      "effects": [
        "cheerio"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/lodash.pick"
      ],
      "fixAvailable": {
        "name": "gulp-inline",
        "version": "0.1.2",
        "isSemVerMajor": true
      }
    },
    "lodash.template": {
      "name": "lodash.template",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096993,
          "name": "lodash.template",
          "dependency": "lodash.template",
          "title": "Command Injection in lodash",
          "url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
          "severity": "high",
          "cwe": [
            "CWE-77",
            "CWE-94"
          ],
          "cvss": {
            "score": 7.2,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=4.5.0"
        }
      ],
      "effects": [
        "gulp-util",
        "postcss-initial"
      ],
      "range": "*",
      "nodes": [
        "node_modules/lodash.template",
        "node_modules/postcss-initial/node_modules/lodash.template"
      ],
      "fixAvailable": false
    },
    "matchdep": {
      "name": "matchdep",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "findup-sync",
        "micromatch"
      ],
      "effects": [
        "gulp-cli"
      ],
      "range": ">=1.0.1",
      "nodes": [
        "node_modules/matchdep"
      ],
      "fixAvailable": true
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098681,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.0.8"
        },
        "braces"
      ],
      "effects": [
        "anymatch",
        "findup-sync",
        "matchdep",
        "readdirp"
      ],
      "range": "<=4.0.7",
      "nodes": [
        "node_modules/findup-sync/node_modules/micromatch",
        "node_modules/glob-watcher/node_modules/micromatch",
        "node_modules/matchdep/node_modules/micromatch",
        "node_modules/micromatch"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095141,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "gulp-inline",
        "version": "0.1.2",
        "isSemVerMajor": true
      }
    },
    "phantomjs-prebuilt": {
      "name": "phantomjs-prebuilt",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "svg-sprite"
      ],
      "range": "*",
      "nodes": [
        "node_modules/phantomjs-prebuilt"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "pixrem": {
      "name": "pixrem",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/pixrem"
      ],
      "fixAvailable": true
    },
    "pleeease-filters": {
      "name": "pleeease-filters",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/pleeease-filters"
      ],
      "fixAvailable": true
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1093539,
          "name": "postcss",
          "dependency": "postcss",
          "title": "Regular Expression Denial of Service in postcss",
          "url": "https://github.com/advisories/GHSA-566m-qj78-rww5",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<7.0.36"
        },
        {
          "source": 1094544,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS line return parsing error",
          "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
          "severity": "moderate",
          "cwe": [
            "CWE-74",
            "CWE-144"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<8.4.31"
        }
      ],
      "effects": [
        "autoprefixer",
        "css-declaration-sorter",
        "cssnano",
        "cssnano-preset-default",
        "cssnano-util-raw-cache",
        "gulp-postcss",
        "pixrem",
        "pleeease-filters",
        "postcss-apply",
        "postcss-attribute-case-insensitive",
        "postcss-calc",
        "postcss-color-function",
        "postcss-color-gray",
        "postcss-color-hex-alpha",
        "postcss-color-hsl",
        "postcss-color-hwb",
        "postcss-color-rebeccapurple",
        "postcss-color-rgb",
        "postcss-color-rgba-fallback",
        "postcss-colormin",
        "postcss-convert-values",
        "postcss-cssnext",
        "postcss-custom-media",
        "postcss-custom-properties",
        "postcss-custom-selectors",
        "postcss-discard-comments",
        "postcss-discard-duplicates",
        "postcss-discard-empty",
        "postcss-discard-overridden",
        "postcss-font-family-system-ui",
        "postcss-font-variant",
        "postcss-image-set-polyfill",
        "postcss-import",
        "postcss-initial",
        "postcss-less",
        "postcss-media-minmax",
        "postcss-merge-longhand",
        "postcss-merge-rules",
        "postcss-minify-font-values",
        "postcss-minify-gradients",
        "postcss-minify-params",
        "postcss-minify-selectors",
        "postcss-nesting",
        "postcss-normalize-charset",
        "postcss-normalize-display-values",
        "postcss-normalize-positions",
        "postcss-normalize-repeat-style",
        "postcss-normalize-string",
        "postcss-normalize-timing-functions",
        "postcss-normalize-unicode",
        "postcss-normalize-url",
        "postcss-normalize-whitespace",
        "postcss-ordered-values",
        "postcss-pseudo-class-any-link",
        "postcss-pseudoelements",
        "postcss-reduce-initial",
        "postcss-reduce-transforms",
        "postcss-replace-overflow-wrap",
        "postcss-reporter",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "postcss-selector-matches",
        "postcss-selector-not",
        "postcss-svgo",
        "postcss-unique-selectors",
        "stylehacks",
        "stylelint",
        "sugarss"
      ],
      "range": "<=8.4.30",
      "nodes": [
        "node_modules/autoprefixer/node_modules/postcss",
        "node_modules/css-declaration-sorter/node_modules/postcss",
        "node_modules/cssnano-preset-default/node_modules/postcss",
        "node_modules/cssnano-util-raw-cache/node_modules/postcss",
        "node_modules/cssnano/node_modules/postcss",
        "node_modules/gulp-postcss/node_modules/postcss",
        "node_modules/pixrem/node_modules/postcss",
        "node_modules/pleeease-filters/node_modules/postcss",
        "node_modules/postcss-apply/node_modules/postcss",
        "node_modules/postcss-attribute-case-insensitive/node_modules/postcss",
        "node_modules/postcss-calc/node_modules/postcss",
        "node_modules/postcss-color-function/node_modules/postcss",
        "node_modules/postcss-color-gray/node_modules/postcss",
        "node_modules/postcss-color-hex-alpha/node_modules/postcss",
        "node_modules/postcss-color-hsl/node_modules/postcss",
        "node_modules/postcss-color-hwb/node_modules/postcss",
        "node_modules/postcss-color-rebeccapurple/node_modules/postcss",
        "node_modules/postcss-color-rgb/node_modules/postcss",
        "node_modules/postcss-color-rgba-fallback/node_modules/postcss",
        "node_modules/postcss-colormin/node_modules/postcss",
        "node_modules/postcss-convert-values/node_modules/postcss",
        "node_modules/postcss-cssnext/node_modules/postcss",
        "node_modules/postcss-cssnext/node_modules/postcss-calc/node_modules/postcss",
        "node_modules/postcss-custom-media/node_modules/postcss",
        "node_modules/postcss-custom-properties/node_modules/postcss",
        "node_modules/postcss-custom-selectors/node_modules/postcss",
        "node_modules/postcss-discard-comments/node_modules/postcss",
        "node_modules/postcss-discard-duplicates/node_modules/postcss",
        "node_modules/postcss-discard-empty/node_modules/postcss",
        "node_modules/postcss-discard-overridden/node_modules/postcss",
        "node_modules/postcss-font-family-system-ui/node_modules/postcss",
        "node_modules/postcss-font-variant/node_modules/postcss",
        "node_modules/postcss-image-set-polyfill/node_modules/postcss",
        "node_modules/postcss-import/node_modules/postcss",
        "node_modules/postcss-initial/node_modules/postcss",
        "node_modules/postcss-less/node_modules/postcss",
        "node_modules/postcss-media-minmax/node_modules/postcss",
        "node_modules/postcss-merge-longhand/node_modules/postcss",
        "node_modules/postcss-merge-rules/node_modules/postcss",
        "node_modules/postcss-minify-font-values/node_modules/postcss",
        "node_modules/postcss-minify-gradients/node_modules/postcss",
        "node_modules/postcss-minify-params/node_modules/postcss",
        "node_modules/postcss-minify-selectors/node_modules/postcss",
        "node_modules/postcss-nesting/node_modules/postcss",
        "node_modules/postcss-normalize-charset/node_modules/postcss",
        "node_modules/postcss-normalize-display-values/node_modules/postcss",
        "node_modules/postcss-normalize-positions/node_modules/postcss",
        "node_modules/postcss-normalize-repeat-style/node_modules/postcss",
        "node_modules/postcss-normalize-string/node_modules/postcss",
        "node_modules/postcss-normalize-timing-functions/node_modules/postcss",
        "node_modules/postcss-normalize-unicode/node_modules/postcss",
        "node_modules/postcss-normalize-url/node_modules/postcss",
        "node_modules/postcss-normalize-whitespace/node_modules/postcss",
        "node_modules/postcss-ordered-values/node_modules/postcss",
        "node_modules/postcss-pseudo-class-any-link/node_modules/postcss",
        "node_modules/postcss-pseudoelements/node_modules/postcss",
        "node_modules/postcss-reduce-initial/node_modules/postcss",
        "node_modules/postcss-reduce-transforms/node_modules/postcss",
        "node_modules/postcss-replace-overflow-wrap/node_modules/postcss",
        "node_modules/postcss-reporter/node_modules/postcss",
        "node_modules/postcss-safe-parser/node_modules/postcss",
        "node_modules/postcss-sass/node_modules/postcss",
        "node_modules/postcss-scss/node_modules/postcss",
        "node_modules/postcss-selector-matches/node_modules/postcss",
        "node_modules/postcss-selector-not/node_modules/postcss",
        "node_modules/postcss-svgo/node_modules/postcss",
        "node_modules/postcss-unique-selectors/node_modules/postcss",
        "node_modules/stylehacks/node_modules/postcss",
        "node_modules/stylelint/node_modules/postcss",
        "node_modules/sugarss/node_modules/postcss"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "postcss-apply": {
      "name": "postcss-apply",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=0.10.0",
      "nodes": [
        "node_modules/postcss-apply"
      ],
      "fixAvailable": false
    },
    "postcss-attribute-case-insensitive": {
      "name": "postcss-attribute-case-insensitive",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=3.0.1",
      "nodes": [
        "node_modules/postcss-attribute-case-insensitive"
      ],
      "fixAvailable": false
    },
    "postcss-calc": {
      "name": "postcss-calc",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "4.1.0 - 7.0.5",
      "nodes": [
        "node_modules/postcss-calc",
        "node_modules/postcss-cssnext/node_modules/postcss-calc"
      ],
      "fixAvailable": true
    },
    "postcss-color-function": {
      "name": "postcss-color-function",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "css-color-function",
        "postcss"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/postcss-color-function"
      ],
      "fixAvailable": true
    },
    "postcss-color-gray": {
      "name": "postcss-color-gray",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "3.0.0 - 4.1.0",
      "nodes": [
        "node_modules/postcss-color-gray"
      ],
      "fixAvailable": true
    },
    "postcss-color-hex-alpha": {
      "name": "postcss-color-hex-alpha",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.3.0 - 3.0.0",
      "nodes": [
        "node_modules/postcss-color-hex-alpha"
      ],
      "fixAvailable": true
    },
    "postcss-color-hsl": {
      "name": "postcss-color-hsl",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/postcss-color-hsl"
      ],
      "fixAvailable": true
    },
    "postcss-color-hwb": {
      "name": "postcss-color-hwb",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": ">=1.2.0",
      "nodes": [
        "node_modules/postcss-color-hwb"
      ],
      "fixAvailable": true
    },
    "postcss-color-rebeccapurple": {
      "name": "postcss-color-rebeccapurple",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.2.0 - 3.1.0",
      "nodes": [
        "node_modules/postcss-color-rebeccapurple"
      ],
      "fixAvailable": true
    },
    "postcss-color-rgb": {
      "name": "postcss-color-rgb",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "*",
      "nodes": [
        "node_modules/postcss-color-rgb"
      ],
      "fixAvailable": false
    },
    "postcss-color-rgba-fallback": {
      "name": "postcss-color-rgba-fallback",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=3.0.0",
      "nodes": [
        "node_modules/postcss-color-rgba-fallback"
      ],
      "fixAvailable": true
    },
    "postcss-colormin": {
      "name": "postcss-colormin",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.3",
      "nodes": [
        "node_modules/postcss-colormin"
      ],
      "fixAvailable": true
    },
    "postcss-convert-values": {
      "name": "postcss-convert-values",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/postcss-convert-values"
      ],
      "fixAvailable": true
    },
    "postcss-cssnext": {
      "name": "postcss-cssnext",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "autoprefixer",
        "pixrem",
        "pleeease-filters",
        "postcss",
        "postcss-apply",
        "postcss-attribute-case-insensitive",
        "postcss-calc",
        "postcss-color-function",
        "postcss-color-gray",
        "postcss-color-hex-alpha",
        "postcss-color-hsl",
        "postcss-color-hwb",
        "postcss-color-rebeccapurple",
        "postcss-color-rgb",
        "postcss-color-rgba-fallback",
        "postcss-custom-media",
        "postcss-custom-properties",
        "postcss-custom-selectors",
        "postcss-font-family-system-ui",
        "postcss-font-variant",
        "postcss-image-set-polyfill",
        "postcss-initial",
        "postcss-media-minmax",
        "postcss-nesting",
        "postcss-pseudo-class-any-link",
        "postcss-pseudoelements",
        "postcss-replace-overflow-wrap",
        "postcss-selector-matches",
        "postcss-selector-not"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/postcss-cssnext"
      ],
      "fixAvailable": false
    },
    "postcss-custom-media": {
      "name": "postcss-custom-media",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "4.0.0 - 6.0.0",
      "nodes": [
        "node_modules/postcss-custom-media"
      ],
      "fixAvailable": true
    },
    "postcss-custom-properties": {
      "name": "postcss-custom-properties",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "3.3.0 - 7.0.0",
      "nodes": [
        "node_modules/postcss-custom-properties"
      ],
      "fixAvailable": true
    },
    "postcss-custom-selectors": {
      "name": "postcss-custom-selectors",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss",
        "postcss-selector-matches"
      ],
      "effects": [],
      "range": "2.3.0 - 4.0.1",
      "nodes": [
        "node_modules/postcss-custom-selectors"
      ],
      "fixAvailable": true
    },
    "postcss-discard-comments": {
      "name": "postcss-discard-comments",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-discard-comments"
      ],
      "fixAvailable": true
    },
    "postcss-discard-duplicates": {
      "name": "postcss-discard-duplicates",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.1.0 - 4.0.2",
      "nodes": [
        "node_modules/postcss-discard-duplicates"
      ],
      "fixAvailable": true
    },
    "postcss-discard-empty": {
      "name": "postcss-discard-empty",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.1.0 - 4.0.1",
      "nodes": [
        "node_modules/postcss-discard-empty"
      ],
      "fixAvailable": true
    },
    "postcss-discard-overridden": {
      "name": "postcss-discard-overridden",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/postcss-discard-overridden"
      ],
      "fixAvailable": true
    },
    "postcss-font-family-system-ui": {
      "name": "postcss-font-family-system-ui",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=3.0.0",
      "nodes": [
        "node_modules/postcss-font-family-system-ui"
      ],
      "fixAvailable": false
    },
    "postcss-font-variant": {
      "name": "postcss-font-variant",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.2.0 - 3.0.0",
      "nodes": [
        "node_modules/postcss-font-variant"
      ],
      "fixAvailable": true
    },
    "postcss-image-set-polyfill": {
      "name": "postcss-image-set-polyfill",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=0.4.4",
      "nodes": [
        "node_modules/postcss-image-set-polyfill"
      ],
      "fixAvailable": false
    },
    "postcss-import": {
      "name": "postcss-import",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=12.0.1",
      "nodes": [
        "node_modules/postcss-import"
      ],
      "fixAvailable": {
        "name": "postcss-import",
        "version": "16.1.0",
        "isSemVerMajor": true
      }
    },
    "postcss-initial": {
      "name": "postcss-initial",
      "severity": "high",
      "isDirect": false,
      "via": [
        "lodash.template",
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=3.0.2 || 4.0.0",
      "nodes": [
        "node_modules/postcss-initial"
      ],
      "fixAvailable": false
    },
    "postcss-less": {
      "name": "postcss-less",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=3.1.4",
      "nodes": [
        "node_modules/postcss-less"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "postcss-media-minmax": {
      "name": "postcss-media-minmax",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.2.0 - 3.0.0",
      "nodes": [
        "node_modules/postcss-media-minmax"
      ],
      "fixAvailable": true
    },
    "postcss-merge-longhand": {
      "name": "postcss-merge-longhand",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss",
        "stylehacks"
      ],
      "effects": [],
      "range": "<=4.0.11",
      "nodes": [
        "node_modules/postcss-merge-longhand"
      ],
      "fixAvailable": true
    },
    "postcss-merge-rules": {
      "name": "postcss-merge-rules",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.3",
      "nodes": [
        "node_modules/postcss-merge-rules"
      ],
      "fixAvailable": true
    },
    "postcss-minify-font-values": {
      "name": "postcss-minify-font-values",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-minify-font-values"
      ],
      "fixAvailable": true
    },
    "postcss-minify-gradients": {
      "name": "postcss-minify-gradients",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-minify-gradients"
      ],
      "fixAvailable": true
    },
    "postcss-minify-params": {
      "name": "postcss-minify-params",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-minify-params"
      ],
      "fixAvailable": true
    },
    "postcss-minify-selectors": {
      "name": "postcss-minify-selectors",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-minify-selectors"
      ],
      "fixAvailable": true
    },
    "postcss-nesting": {
      "name": "postcss-nesting",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=6.0.0",
      "nodes": [
        "node_modules/postcss-nesting"
      ],
      "fixAvailable": false
    },
    "postcss-normalize-charset": {
      "name": "postcss-normalize-charset",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/postcss-normalize-charset"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-display-values": {
      "name": "postcss-normalize-display-values",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-display-values"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-positions": {
      "name": "postcss-normalize-positions",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-positions"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-repeat-style": {
      "name": "postcss-normalize-repeat-style",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-repeat-style"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-string": {
      "name": "postcss-normalize-string",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-string"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-timing-functions": {
      "name": "postcss-normalize-timing-functions",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-timing-functions"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-unicode": {
      "name": "postcss-normalize-unicode",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/postcss-normalize-unicode"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-url": {
      "name": "postcss-normalize-url",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "1.1.0 - 4.0.1",
      "nodes": [
        "node_modules/postcss-normalize-url"
      ],
      "fixAvailable": true
    },
    "postcss-normalize-whitespace": {
      "name": "postcss-normalize-whitespace",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-normalize-whitespace"
      ],
      "fixAvailable": true
    },
    "postcss-ordered-values": {
      "name": "postcss-ordered-values",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.1.2",
      "nodes": [
        "node_modules/postcss-ordered-values"
      ],
      "fixAvailable": true
    },
    "postcss-pseudo-class-any-link": {
      "name": "postcss-pseudo-class-any-link",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=5.0.0",
      "nodes": [
        "node_modules/postcss-pseudo-class-any-link"
      ],
      "fixAvailable": true
    },
    "postcss-pseudoelements": {
      "name": "postcss-pseudoelements",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": ">=2.2.0",
      "nodes": [
        "node_modules/postcss-pseudoelements"
      ],
      "fixAvailable": true
    },
    "postcss-reduce-initial": {
      "name": "postcss-reduce-initial",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.3",
      "nodes": [
        "node_modules/postcss-reduce-initial"
      ],
      "fixAvailable": true
    },
    "postcss-reduce-transforms": {
      "name": "postcss-reduce-transforms",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-reduce-transforms"
      ],
      "fixAvailable": true
    },
    "postcss-replace-overflow-wrap": {
      "name": "postcss-replace-overflow-wrap",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-cssnext"
      ],
      "range": "<=2.0.0",
      "nodes": [
        "node_modules/postcss-replace-overflow-wrap"
      ],
      "fixAvailable": false
    },
    "postcss-reporter": {
      "name": "postcss-reporter",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=6.0.1",
      "nodes": [
        "node_modules/postcss-reporter"
      ],
      "fixAvailable": {
        "name": "postcss-reporter",
        "version": "7.1.0",
        "isSemVerMajor": true
      }
    },
    "postcss-safe-parser": {
      "name": "postcss-safe-parser",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-safe-parser"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "postcss-sass": {
      "name": "postcss-sass",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=0.4.4",
      "nodes": [
        "node_modules/postcss-sass"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "postcss-scss": {
      "name": "postcss-scss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=2.1.1",
      "nodes": [
        "node_modules/postcss-scss"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "postcss-selector-matches": {
      "name": "postcss-selector-matches",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=3.0.1",
      "nodes": [
        "node_modules/postcss-selector-matches"
      ],
      "fixAvailable": true
    },
    "postcss-selector-not": {
      "name": "postcss-selector-not",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=3.0.1",
      "nodes": [
        "node_modules/postcss-selector-not"
      ],
      "fixAvailable": true
    },
    "postcss-svgo": {
      "name": "postcss-svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "postcss",
        "svgo"
      ],
      "effects": [],
      "range": "<=5.0.0-rc.2",
      "nodes": [
        "node_modules/postcss-svgo"
      ],
      "fixAvailable": true
    },
    "postcss-unique-selectors": {
      "name": "postcss-unique-selectors",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=4.0.1",
      "nodes": [
        "node_modules/postcss-unique-selectors"
      ],
      "fixAvailable": true
    },
    "pre-commit": {
      "name": "pre-commit",
      "severity": "high",
      "isDirect": true,
      "via": [
        "cross-spawn"
      ],
      "effects": [],
      "range": ">=1.1.0",
      "nodes": [
        "node_modules/pre-commit"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "1.0.10",
        "isSemVerMajor": true
      }
    },
    "readdirp": {
      "name": "readdirp",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "chokidar"
      ],
      "range": "2.2.0 - 2.2.1",
      "nodes": [
        "node_modules/glob-watcher/node_modules/readdirp"
      ],
      "fixAvailable": {
        "name": "gulp",
        "version": "5.0.0",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "phantomjs-prebuilt"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "rollup": {
      "name": "rollup",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1099757,
          "name": "rollup",
          "dependency": "rollup",
          "title": "DOM Clobbering Gadget found in rollup bundled scripts that leads to XSS",
          "url": "https://github.com/advisories/GHSA-gcx4-mw62-g8wm",
          "severity": "high",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 6.4,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H"
          },
          "range": "<2.79.2"
        }
      ],
      "effects": [],
      "range": "<2.79.2",
      "nodes": [
        "node_modules/rollup"
      ],
      "fixAvailable": true
    },
    "stylehacks": {
      "name": "stylehacks",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "postcss-merge-longhand"
      ],
      "range": "<=4.0.3",
      "nodes": [
        "node_modules/stylehacks"
      ],
      "fixAvailable": true
    },
    "stylelint": {
      "name": "stylelint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "autoprefixer",
        "postcss",
        "postcss-less",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "sugarss"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": "0.1.0 - 13.13.1",
      "nodes": [
        "node_modules/stylelint"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-wikimedia": {
      "name": "stylelint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint"
      ],
      "effects": [],
      "range": "<=0.11.1",
      "nodes": [
        "node_modules/stylelint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.17.2",
        "isSemVerMajor": true
      }
    },
    "sugarss": {
      "name": "sugarss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=2.0.0",
      "nodes": [
        "node_modules/sugarss"
      ],
      "fixAvailable": true
    },
    "svg-sprite": {
      "name": "svg-sprite",
      "severity": "high",
      "isDirect": false,
      "via": [
        "phantomjs-prebuilt",
        "svgo"
      ],
      "effects": [
        "gulp-svg-sprite"
      ],
      "range": "1.3.0 - 1.5.4",
      "nodes": [
        "node_modules/svg-sprite"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "svgo": {
      "name": "svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select"
      ],
      "effects": [
        "postcss-svgo",
        "svg-sprite"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "gulp-svg-sprite",
        "version": "2.0.3",
        "isSemVerMajor": true
      }
    },
    "useragent": {
      "name": "useragent",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1100298,
          "name": "useragent",
          "dependency": "useragent",
          "title": "useragent Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-mgfv-m47x-4wqp",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<=2.3.0"
        }
      ],
      "effects": [
        "browserslist-useragent",
        "es-dev-server"
      ],
      "range": "*",
      "nodes": [
        "node_modules/useragent"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 84,
      "high": 27,
      "critical": 0,
      "total": 111
    },
    "dependencies": {
      "prod": 1,
      "dev": 1824,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1824
    }
  }
}

--- end ---
Upgrading n:eslint-config-wikimedia from 0.26.0 -> 0.28.2
Upgrading n:stylelint-config-wikimedia from 0.10.3 -> 0.17.2
Upgrading n:@wikimedia/codex-design-tokens from 1.7.0 -> 1.17.0
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated @types/browserslist@4.15.0: This is a stub types definition. browserslist provides its own type definitions, so you do not need this installed.
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated phantomjs-prebuilt@2.1.16: this package is now deprecated
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated postcss-cssnext@3.1.1: 'postcss-cssnext' has been deprecated in favor of 'postcss-preset-env'. Read more at https://moox.io/blog/deprecating-cssnext/
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated iltorb@2.4.5: The zlib module provides APIs for brotli compression/decompression starting with Node.js v10.16.0, please use it over iltorb
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1760 packages, and audited 1761 packages in 47s

148 packages are looking for funding
  run `npm fund` for details

104 vulnerabilities (77 moderate, 27 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/eslint . --fix
--- stdout ---

/src/repo/gulpfile.js/prod.js
  42:1   warning  Missing JSDoc @param "cb" type                                            jsdoc/require-param-type
  49:8   warning  Found existsSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename
  50:4   warning  Found rmdirSync from package "fs" with non literal argument at index 0    security/detect-non-literal-fs-filename
  55:1   warning  This line has a length of 108. Maximum allowed is 100                     max-len
  68:7   warning  Found existsSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename
  70:3   warning  Found readdirSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  72:22  warning  Found unlinkSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename

/src/repo/gulpfile.js/sprites.js
  16:4  warning  Found unlink from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/src/common/assets/js/page-localized.js
  14:1  warning  Missing JSDoc @param "wmTest" type            jsdoc/require-param-type
  15:1  warning  Missing JSDoc @param "translationsHash" type  jsdoc/require-param-type
  16:1  warning  Missing JSDoc @param "mw" type                jsdoc/require-param-type
  17:1  warning  Missing JSDoc @param "rtlLangs" type          jsdoc/require-param-type

/src/repo/src/common/assets/js/topten-localized.js
   12:1  warning  Missing JSDoc @param "mw" type                         jsdoc/require-param-type
   13:1  warning  Missing JSDoc @param "wmTest" type                     jsdoc/require-param-type
  117:1  warning  This line has a length of 101. Maximum allowed is 100  max-len
  122:1  warning  This line has a length of 117. Maximum allowed is 100  max-len

/src/repo/src/wikipedia.org/assets/js/banner.js
  8:1  warning  Missing JSDoc @param "wmTest" type  jsdoc/require-param-type

✖ 17 problems (0 errors, 17 warnings)


--- end ---
$ ./node_modules/.bin/eslint . -f json
--- stdout ---
[{"filePath":"/src/repo/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.stylelintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/config.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-require","severity":1,"message":"Found non-literal argument in require","line":48,"column":17,"nodeType":"CallExpression","endLine":48,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/dev.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/handlebar.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/help.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/postcss.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/prod.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"cb\" type.","line":42,"column":1,"nodeType":"Block","endLine":42,"endColumn":1},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found existsSync from package \"fs\" with non literal argument at index 0","line":49,"column":8,"nodeType":"CallExpression","endLine":49,"endColumn":37},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found rmdirSync from package \"fs\" with non literal argument at index 0","line":50,"column":4,"nodeType":"CallExpression","endLine":50,"endColumn":53},{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":55,"column":1,"nodeType":"Program","messageId":"max","endLine":55,"endColumn":100},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found existsSync from package \"fs\" with non literal argument at index 0","line":68,"column":7,"nodeType":"CallExpression","endLine":68,"endColumn":33},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found readdirSync from package \"fs\" with non literal argument at index 0","line":70,"column":3,"nodeType":"CallExpression","endLine":70,"endColumn":30},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found unlinkSync from package \"fs\" with non literal argument at index 0","line":72,"column":22,"nodeType":"CallExpression","endLine":72,"endColumn":67}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"var gulp = require( 'gulp' ),\n\tgulpLoadPlugins = require( 'gulp-load-plugins' ),\n\tplugins = gulpLoadPlugins(),\n\tfs = require( 'fs' ),\n\tpath = require( 'path' ),\n\targv = require( 'yargs' ).argv,\n\tportalParam = argv.portal,\n\tcssnano = require( 'cssnano' );\n\nconst { requirePortalParam, getBaseDir, getConfig, getProdDir } = require( './config' );\n\n/**\n * Inline assets of index.html in src folder\n * and move index.html into prod folder\n *\n * @return {Stream}\n */\nfunction inlineAssets() {\n\n\trequirePortalParam();\n\n\tconst preset = {\n\t\tpreset: [\n\t\t\t'default', {\n\t\t\t\tdiscardComments: {\n\t\t\t\t\tremoveAll: true\n\t\t\t\t}\n\t\t\t} ]\n\t};\n\n\treturn gulp.src( getBaseDir() + 'index.html' )\n\t\t.pipe( plugins.inline( {\n\t\t\tcss: plugins.postcss.bind( this, [ ( cssnano( preset ) ) ] ),\n\t\t\tdisabledTypes: [ 'svg', 'img', 'js' ]\n\t\t} ) )\n\t\t.pipe( gulp.dest( getProdDir() ) );\n}\n\n/**\n * Clean `assets/js/` folder from the prod folder.\n *\n * @param cb\n */\nfunction cleanProdJS( cb ) {\n\ttry {\n\t\tvar prodDir = getProdDir();\n\t\tvar jsFolderPath = path.join( prodDir, 'assets', 'js' );\n\n\t\tif ( fs.existsSync( jsFolderPath ) ) {\n\t\t\tfs.rmdirSync( jsFolderPath, { recursive: true } );\n\t\t\tconsole.log( `Cleaned: ${jsFolderPath}` );\n\t\t\tcb(); // Callback after success\n\t\t} else {\n\t\t\tconsole.log( `Directory does not exist: ${jsFolderPath}` );\n\t\t\tcb(); // Callback after success (assuming cleaning is not needed if the directory doesn't exist)\n\t\t}\n\t} catch ( error ) {\n\t\tconsole.error( 'Error cleaning prod JS:', error );\n\t\tcb( error ); // Callback with error if there's an error cleaning the directory\n\t}\n}\nfunction copyTranslationFiles() {\n\trequirePortalParam();\n\n\tconst prodDir = getProdDir();\n\tconst assetsDir = path.join( prodDir, 'assets', 'l10n' );\n\n\tif ( fs.existsSync( assetsDir ) ) {\n\t\t// Remove existing JSON files in the destination directory\n\t\tfs.readdirSync( assetsDir )\n\t\t\t.filter( file => file.endsWith( '.json' ) )\n\t\t\t.forEach( file => fs.unlinkSync( path.join( assetsDir, file ) ) );\n\t} else {\n\t\tconsole.log( `Directory does not exist: ${assetsDir}` );\n\t}\n\treturn gulp.src( path.join( getBaseDir(), 'assets', 'l10n/**/*.json' ) )\n\t\t.pipe( gulp.dest( assetsDir ) );\n}\n/**\n * Concatenate JS files into a single file and minify it.\n *\n * @return {Stream}\n */\nfunction concatMinifyJS() {\n\n\trequirePortalParam();\n\n\treturn gulp.src( getConfig().htmlmin.src )\n\t\t.pipe( plugins.useref( {\n\t\t\tsearchPath: getBaseDir(),\n\t\t\ttransformTargetPath: function ( filePath ) {\n\t\t\t\t/**\n\t\t\t\t * Rewrite concatenated file path to include symlink\n\t\t\t\t * necessary for production apache config.\n\t\t\t\t */\n\t\t\t\treturn `portal/${portalParam}/${filePath}`;\n\t\t\t}\n\t\t} ) )\n\t\t.pipe( plugins.if( '*.js', plugins.uglify() ) )\n\t\t.pipe( plugins.if( '*.js', plugins.rev() ) )\n\t\t.pipe( plugins.revReplace() )\n\t\t.pipe( gulp.dest( getProdDir() ) )\n\t\t.pipe( plugins.rev.manifest() )\n\t\t.pipe( gulp.dest( getBaseDir() + 'assets' ) );\n}\n\n/**\n * Minify index.html file in prod folder,\n * depends on inlineAssets which moves index.html from src to prod.\n *\n * @return {Stream}\n */\nfunction minifyHTML() {\n\n\trequirePortalParam();\n\n\treturn gulp.src( getConfig().htmlmin.src )\n\t\t.pipe( plugins.htmlmin( getConfig().htmlmin.options ) )\n\t\t.pipe( gulp.dest( getProdDir() ) );\n}\n\n/**\n * Copy images to prod folder.\n *\n * @return {Stream}\n */\nfunction copyImages() {\n\n\tvar conf = getConfig();\n\trequirePortalParam();\n\treturn gulp.src( conf.img.src ).pipe( gulp.dest( conf.img.dest ) );\n}\n\n/**\n * Creates a symlink in the production folder which is required\n * by the Apache config:\n * https://gerrit.wikimedia.org/r/plugins/gitiles/operations/puppet/+/refs/heads/production/modules/mediawiki/templates/apache/sites/wwwportals.conf.erb\n *\n * @return {Stream}\n */\nfunction createProdSymlink() {\n\treturn gulp.src( getProdDir() )\n\t\t.pipe( gulp.symlink( getProdDir() + '/portal',\n\t\t\t{ relativeSymlinks: true }\n\t\t) );\n}\n\nexports.inlineAssets = inlineAssets;\nexports.cleanProdJS = cleanProdJS;\nexports.copyTranslationFiles = copyTranslationFiles;\nexports.concatMinifyJS = concatMinifyJS;\nexports.minifyHTML = minifyHTML;\nexports.copyImages = copyImages;\nexports.createProdSymlink = createProdSymlink;\n","usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/scap-urls.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/sprites.js","messages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found unlink from package \"fs\" with non literal argument at index 0","line":16,"column":4,"nodeType":"CallExpression","endLine":23,"endColumn":7}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"var gulp = require( 'gulp' ),\n\tgulpLoadPlugins = require( 'gulp-load-plugins' ),\n\tfs = require( 'fs' ),\n\tglob = require( 'glob' ),\n\tplugins = gulpLoadPlugins();\n\nconst { getBaseDir, getConfig } = require( './config' );\n\nfunction cleanSprites() {\n\tconst conf = getConfig();\n\tconst outputSVGGlob = conf.img.sprite.outputSVGGlob;\n\tconst outputSVGFiles = glob.sync( outputSVGGlob );\n\n\treturn Promise.all( outputSVGFiles.map( file => {\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tfs.unlink( file, err => {\n\t\t\t\tif ( err ) {\n\t\t\t\t\treject( err );\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log( `Sprite file deleted: ${file}` );\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t} ) );\n}\n\nfunction createSvgSprite() {\n\tvar conf = getConfig();\n\treturn gulp.src( conf.img.sprite.assets )\n\t\t.pipe( plugins.svgSprite( {\n\t\t\tshape: {\n\t\t\t\tspacing: {\n\t\t\t\t\tpadding: 1\n\t\t\t\t},\n\t\t\t\ttransform: [ 'svgo' ]\n\t\t\t},\n\t\t\tmode: {\n\t\t\t\tcss: {\n\t\t\t\t\tlayout: 'vertical',\n\t\t\t\t\tsprite: '../' + conf.img.sprite.outputName + '.svg',\n\t\t\t\t\tbust: true,\n\t\t\t\t\tdimensions: true,\n\t\t\t\t\tcommon: conf.img.sprite.cssPrefix,\n\t\t\t\t\trender: {\n\t\t\t\t\t\tcss: {\n\t\t\t\t\t\t\tdimensions: true,\n\t\t\t\t\t\t\tdest: '../' + conf.img.sprite.outputCSS,\n\t\t\t\t\t\t\ttemplate: conf.img.sprite.template\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tvariables: {\n\t\t\t\tmapname: 'svg-sprite'\n\t\t\t}\n\t\t} ) )\n\t\t.pipe( plugins.if( '*.svg', gulp.dest( getBaseDir() + 'assets/img/' ), gulp.dest( getBaseDir() + 'assets/css/' ) ) );\n}\n\nexports.cleanSprites = cleanSprites;\nexports.createSvgSprite = createSvgSprite;\n","usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/gulpfile.js/stats.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/hbs-helpers.global.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/lang-dropdown.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/mediawiki.lite.js","messages":[],"suppressedMessages":[{"ruleId":"no-redeclare","severity":2,"message":"'mw' is already defined as a built-in global variable.","line":2,"column":5,"nodeType":"Identifier","messageId":"redeclaredAsBuiltin","endLine":2,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-use-before-define","severity":2,"message":"'mw' was used before it was defined.","line":2,"column":10,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":2,"endColumn":12,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/page-localized.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"wmTest\" type.","line":14,"column":1,"nodeType":"Block","endLine":14,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"translationsHash\" type.","line":15,"column":1,"nodeType":"Block","endLine":15,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":16,"column":1,"nodeType":"Block","endLine":16,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"rtlLangs\" type.","line":17,"column":1,"nodeType":"Block","endLine":17,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* global wmTest, translationsHash, translationsPortalKey, wmL10nVisible, rtlLangs,\n portalSearchDomain */\n\n/**\n * This script localizes the page text.\n * Text includes the footer text, language button text, sister project name & slogan.\n *\n * Each localized text node is given a class name that corresponds to a property\n * in the translation JSON object.\n *\n * eg: the class `jsl10n_wiktionary_name` will be translated to en.wikitionary.name value.\n * If a translation value is missing, page will default to english.\n *\n * @param wmTest\n * @param translationsHash\n * @param mw\n * @param rtlLangs\n */\n\n( function ( wmTest, translationsHash, mw, rtlLangs ) {\n\n\tvar primaryLang = wmTest.primaryLang,\n\t\tstoredTranslationHash,\n\t\tstoredTranslations,\n\t\tl10nReq,\n\t\tl10nInfo;\n\n\t/**\n\t * Helper function to safely parse JSON an return empty string on error.\n\t *\n\t * @param {JSON} json\n\t * @return {JSON}\n\t */\n\tfunction safelyParseJSON( json ) {\n\t\tvar parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse( json );\n\t\t} catch ( e ) {\n\t\t\tparsed = '';\n\t\t}\n\t\treturn parsed;\n\t}\n\n\tfunction isValidHash() {\n\t\tvar storedHash = mw.storage.get( 'translationHash' );\n\t\treturn ( translationsHash === storedHash ) ? storedHash : false;\n\t}\n\n\tif ( primaryLang === 'en' ) {\n\t\twmL10nVisible.makeVisible();\n\t\treturn;\n\t}\n\n\tstoredTranslationHash = isValidHash();\n\tstoredTranslations = storedTranslationHash ? safelyParseJSON( mw.storage.get( 'storedTranslations' ) ) || {} : {};\n\n\t/**\n\t * Saves translation to localstorage\n\t *\n\t * @param {string} lang language code that acts as the key to the translation.\n\t * @param {Object} translation translation data.\n\t */\n\tfunction saveTranslation( lang, translation ) {\n\t\tvar translations = safelyParseJSON( mw.storage.get( 'storedTranslations' ) ) || {};\n\n\t\ttranslations[ lang ] = translation;\n\t\tmw.storage.set( 'storedTranslations', JSON.stringify( translations ) );\n\t}\n\n\t/**\n\t * Takes an object and a string 'foo.bar' and returns object.foo.bar if exists,\n\t * otherwise returns `undefined`.\n\t *\n\t * @param {Object} obj The object to traverse.\n\t * @param {string} keys A string representing the dot notation of the object.\n\t *\n\t * @return {Mixed}\n\t */\n\tfunction getProp( obj, keys ) {\n\t\tvar i = 0;\n\t\tkeys = String( keys ).split( '.' );\n\t\twhile ( i < keys.length ) {\n\t\t\tif ( obj === undefined || obj === null ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tobj = obj[ keys[ i++ ] ];\n\t\t}\n\t\treturn obj;\n\t}\n\n\t/**\n\t * Takes the translation data object and replaces corresponding\n\t * DOM element textContent with translation values.\n\t *\n\t * @param {Object} info Object containing translation data.\n\t */\n\tfunction replacel10nText( info ) {\n\t\tvar domEls = document.querySelectorAll( '.jsl10n' ),\n\t\t\tvalidAnchor = new RegExp( /<a[^>]*>([^<]+)<\\/a>/ ),\n\t\t\ti, domEl, l10nAttr, textValue, termsHref, privacyHref;\n\n\t\tfor ( i = 0; i < domEls.length; i++ ) {\n\n\t\t\tdomEl = domEls[ i ];\n\t\t\t/**\n\t\t\t * This converts the generic \"portal\" keyword in the data-jsl10n\n\t\t\t * attributes e.g. 'data-jsl10n=\"portal.footer-description\"' into a portal-specific\n\t\t\t * keys as defined by the global `translationsPortalKey` variable inlined in index.html\n\t\t\t */\n\t\t\tl10nAttr = domEl.getAttribute( 'data-jsl10n' ).replace( 'portal.', translationsPortalKey + '.' );\n\t\t\ttextValue = getProp( info, l10nAttr );\n\n\t\t\tif ( typeof textValue === 'string' && textValue.length > 0 ) {\n\t\t\t\tswitch ( l10nAttr ) {\n\t\t\t\t\tcase 'app-links.other':\n\t\t\t\t\t\tif ( validAnchor.test( textValue ) ) {\n\t\t\t\t\t\t\tdomEl.innerHTML = textValue;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdomEl.firstChild.textContent = textValue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'license':\n\t\t\t\t\t\tdomEl.innerHTML = textValue;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'terms':\n\t\t\t\t\t\tdomEl.firstChild.textContent = textValue;\n\t\t\t\t\t\ttermsHref = getProp( info, 'terms-link' );\n\t\t\t\t\t\tif ( termsHref ) {\n\t\t\t\t\t\t\tdomEl.firstChild.setAttribute( 'href', termsHref );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'privacy-policy':\n\t\t\t\t\t\tdomEl.firstChild.textContent = textValue;\n\t\t\t\t\t\tprivacyHref = getProp( info, 'privacy-policy-link' );\n\t\t\t\t\t\tif ( privacyHref ) {\n\t\t\t\t\t\t\tdomEl.firstChild.setAttribute( 'href', privacyHref );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tdomEl.textContent = textValue;\n\t\t\t\t\t\t// T254611 Specific 'lang' attribute for every localized text\n\t\t\t\t\t\tdomEl.setAttribute( 'lang', info.lang );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\twmL10nVisible.makeVisible();\n\t}\n\n\tfunction addHtmlLang( lang ) {\n\t\tdocument.documentElement.lang = lang;\n\t\tif ( rtlLangs.indexOf( lang ) >= 0 ) {\n\t\t\tdocument.dir = 'rtl';\n\t\t} else {\n\t\t\tdocument.dir = 'ltr';\n\t\t}\n\t}\n\t/**\n\t * If the primary language is not English, and the translation is missing or outdated,\n\t * fetch the latest one.\n\t */\n\tif ( !storedTranslations[ primaryLang ] ) {\n\n\t\tl10nReq = new XMLHttpRequest();\n\n\t\tl10nReq.open( 'GET', encodeURI( 'portal/' + portalSearchDomain + '/assets/l10n/' + primaryLang + '-' + translationsHash + '.json' ), true );\n\n\t\tl10nReq.onreadystatechange = function () {\n\t\t\tif ( l10nReq.readyState === 4 ) {\n\t\t\t\tif ( l10nReq.status === 200 ) {\n\n\t\t\t\t\tl10nInfo = safelyParseJSON( this.responseText );\n\n\t\t\t\t\tif ( l10nInfo ) {\n\t\t\t\t\t\tsaveTranslation( primaryLang, l10nInfo );\n\n\t\t\t\t\t\t// Skip if it took too long\n\t\t\t\t\t\tif ( wmL10nVisible.ready ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taddHtmlLang( primaryLang );\n\t\t\t\t\t\treplacel10nText( l10nInfo );\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\twmL10nVisible.makeVisible();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tl10nReq.send();\n\t} else {\n\t\tl10nInfo = storedTranslations[ primaryLang ];\n\t\t// Skip if it took too long\n\t\tif ( wmL10nVisible.ready ) {\n\t\t\treturn;\n\t\t}\n\t\taddHtmlLang( primaryLang );\n\t\treplacel10nText( l10nInfo );\n\t}\n\n}( wmTest, translationsHash, mw, rtlLangs ) );\n","usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/polyfills.js","messages":[],"suppressedMessages":[{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"fn\" declaration.","line":3,"column":1,"nodeType":"Block","endLine":7,"endColumn":4,"fix":{"range":[22,169],"text":"/**\n * Queues the given function to be called once the DOM has finished loading.\n *\n * Based on jquery/src/core/ready.js@825ac37 (MIT licensed)\n * @param fn\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-implicit-globals","severity":2,"message":"Unexpected function declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.","line":8,"column":1,"nodeType":"FunctionDeclaration","messageId":"globalNonLexicalBinding","endLine":24,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'doWhenReady' is defined but never used.","line":8,"column":10,"nodeType":"Identifier","messageId":"unusedVar","endLine":8,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":13,"column":16,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":13,"endColumn":17,"fix":{"range":[357,357],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"lang\" declaration.","line":30,"column":1,"nodeType":"Block","endLine":33,"endColumn":4,"fix":{"range":[725,823],"text":"/**\n * Converts strings to iso639.\n * http://www.iso.org/iso/home/standards/language_codes.htm\n * @param lang\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":30,"column":1,"nodeType":"Block","endLine":33,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-implicit-globals","severity":2,"message":"Unexpected function declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.","line":34,"column":1,"nodeType":"FunctionDeclaration","messageId":"globalNonLexicalBinding","endLine":46,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'getIso639' is defined but never used.","line":34,"column":10,"nodeType":"Identifier","messageId":"unusedVar","endLine":34,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":41,"column":2,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":41,"endColumn":47,"fix":{"range":[990,991],"text":"I"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":48,"column":1,"nodeType":"Block","endLine":57,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/check-tag-names","severity":1,"message":"Invalid JSDoc tag (preference). Replace \"returns\" JSDoc tag with \"return\".","line":56,"column":1,"nodeType":"Block","endLine":56,"endColumn":1,"fix":{"range":[1093,1380],"text":"/**\n * Detects reported or approximate device pixel ratio.\n * * 1.0 means 1 CSS pixel is 1 hardware pixel\n * * 2.0 means 1 CSS pixel is 2 hardware pixels\n * * etc.\n *\n * Uses window.devicePixelRatio if available, or CSS media queries on IE.\n *\n * @return {number} Device pixel ratio\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-implicit-globals","severity":2,"message":"Unexpected function declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.","line":58,"column":1,"nodeType":"FunctionDeclaration","messageId":"globalNonLexicalBinding","endLine":71,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'getDevicePixelRatio' is defined but never used.","line":58,"column":10,"nodeType":"Identifier","messageId":"unusedVar","endLine":58,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Unexpected space before function parentheses.","line":58,"column":29,"nodeType":"FunctionDeclaration","messageId":"unexpectedSpace","endLine":58,"endColumn":30,"fix":{"range":[1409,1410],"text":""},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":77,"column":4,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":77,"endColumn":5,"fix":{"range":[1796,1796],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":77,"column":31,"nodeType":"Program","messageId":"missingClosingSpace","endLine":77,"endColumn":32,"fix":{"range":[1822,1822],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":83,"column":4,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":83,"endColumn":5,"fix":{"range":[1946,1946],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":83,"column":31,"nodeType":"Program","messageId":"missingClosingSpace","endLine":83,"endColumn":32,"fix":{"range":[1972,1972],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":84,"column":38,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":84,"endColumn":39,"fix":{"range":[2014,2014],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":84,"column":38,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":84,"endColumn":39,"fix":{"range":[2013,2013],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":84,"column":40,"nodeType":"Program","messageId":"missingClosingSpace","endLine":84,"endColumn":41,"fix":{"range":[2015,2015],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 2 tabs but found 1.","line":87,"column":1,"nodeType":"Keyword","messageId":"wrongIndentation","endLine":87,"endColumn":2,"fix":{"range":[2037,2038],"text":"\t\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 3 tabs but found 2.","line":88,"column":1,"nodeType":"Keyword","messageId":"wrongIndentation","endLine":88,"endColumn":3,"fix":{"range":[2043,2045],"text":"\t\t\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":88,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":88,"endColumn":7,"fix":{"range":[2049,2049],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":88,"column":37,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":88,"endColumn":38,"fix":{"range":[2080,2080],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":88,"column":43,"nodeType":"Program","messageId":"missingClosingSpace","endLine":88,"endColumn":44,"fix":{"range":[2085,2085],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":88,"column":44,"nodeType":"Program","messageId":"missingClosingSpace","endLine":88,"endColumn":45,"fix":{"range":[2086,2086],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":88,"column":46,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":88,"endColumn":56,"fix":{"range":[2088,2098],"text":"{return el;}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 3 tabs but found 2.","line":89,"column":1,"nodeType":"Identifier","messageId":"wrongIndentation","endLine":89,"endColumn":3,"fix":{"range":[2099,2101],"text":"\t\t\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 2 tabs but found 1.","line":90,"column":1,"nodeType":"Punctuator","messageId":"wrongIndentation","endLine":90,"endColumn":2,"fix":{"range":[2141,2142],"text":"\t\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":90,"column":10,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":90,"endColumn":11,"fix":{"range":[2151,2151],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":90,"column":43,"nodeType":"Program","messageId":"missingClosingSpace","endLine":90,"endColumn":44,"fix":{"range":[2183,2183],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 2 tabs but found 1.","line":91,"column":1,"nodeType":"Keyword","messageId":"wrongIndentation","endLine":91,"endColumn":2,"fix":{"range":[2186,2187],"text":"\t\t"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/search-language-picker.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/seedrandom.js","messages":[],"suppressedMessages":[{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":7,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":7,"endColumn":30,"fix":{"range":[303,304],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":11,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":11,"endColumn":69,"fix":{"range":[435,436],"text":"A"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":12,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":12,"endColumn":72,"fix":{"range":[504,505],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":19,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":19,"endColumn":74,"fix":{"range":[771,772],"text":"I"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":22,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":22,"endColumn":73,"fix":{"range":[924,925],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":23,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":23,"endColumn":68,"fix":{"range":[997,998],"text":"A"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":28,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":28,"endColumn":66,"fix":{"range":[1248,1249],"text":"T"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":32,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":32,"endColumn":48,"fix":{"range":[1447,1448],"text":"F"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":36,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":36,"endColumn":64,"fix":{"range":[1658,1659],"text":"W"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":41,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":41,"endColumn":74,"fix":{"range":[1785,1786],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":42,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":42,"endColumn":75,"fix":{"range":[1859,1860],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":43,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":43,"endColumn":78,"fix":{"range":[1934,1935],"text":"V"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":45,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":45,"endColumn":78,"fix":{"range":[2015,2016],"text":"V"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":46,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":46,"endColumn":75,"fix":{"range":[2093,2094],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":49,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":49,"endColumn":73,"fix":{"range":[2254,2255],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":52,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":52,"endColumn":82,"fix":{"range":[2405,2406],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":57,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":57,"endColumn":66,"fix":{"range":[2572,2573],"text":"I"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":58,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":58,"endColumn":74,"fix":{"range":[2638,2639],"text":"Z"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":59,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":59,"endColumn":61,"fix":{"range":[2712,2713],"text":"T"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":63,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":63,"endColumn":79,"fix":{"range":[2926,2927],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":64,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":64,"endColumn":76,"fix":{"range":[3005,3006],"text":"E"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":67,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":67,"endColumn":74,"fix":{"range":[3160,3161],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":68,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":68,"endColumn":72,"fix":{"range":[3234,3235],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":69,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":69,"endColumn":69,"fix":{"range":[3306,3307],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":76,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":76,"endColumn":79,"fix":{"range":[3522,3523],"text":"M"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":79,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":79,"endColumn":70,"fix":{"range":[3680,3681],"text":"N"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":82,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":82,"endColumn":76,"fix":{"range":[3827,3828],"text":"N"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":83,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":83,"endColumn":77,"fix":{"range":[3903,3904],"text":"D"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":86,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":86,"endColumn":74,"fix":{"range":[4061,4062],"text":"B"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":87,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":87,"endColumn":51,"fix":{"range":[4135,4136],"text":"W"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"pool\" declaration.","line":101,"column":1,"nodeType":"Block","endLine":106,"endColumn":4,"fix":{"range":[4972,5117],"text":"/**\n * All code is in an anonymous closure to keep the global namespace clean.\n *\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param {number=} overflow\n * @param {number=} startdenom\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"math\" declaration.","line":101,"column":1,"nodeType":"Block","endLine":106,"endColumn":4,"fix":{"range":[4972,5117],"text":"/**\n * All code is in an anonymous closure to keep the global namespace clean.\n *\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param {number=} overflow\n * @param {number=} startdenom\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"width\" declaration.","line":101,"column":1,"nodeType":"Block","endLine":106,"endColumn":4,"fix":{"range":[4972,5117],"text":"/**\n * All code is in an anonymous closure to keep the global namespace clean.\n *\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param {number=} overflow\n * @param {number=} startdenom\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"chunks\" declaration.","line":101,"column":1,"nodeType":"Block","endLine":106,"endColumn":4,"fix":{"range":[4972,5117],"text":"/**\n * All code is in an anonymous closure to keep the global namespace clean.\n *\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param {number=} overflow\n * @param {number=} startdenom\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"significance\" declaration.","line":101,"column":1,"nodeType":"Block","endLine":106,"endColumn":4,"fix":{"range":[4972,5117],"text":"/**\n * All code is in an anonymous closure to keep the global namespace clean.\n *\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param pool\n * @param math\n * @param width\n * @param chunks\n * @param significance\n * @param {number=} overflow\n * @param {number=} startdenom\n */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/check-param-names","severity":1,"message":"Expected @param names to be \"pool, math, width, chunks, significance, overflow, startdenom\". Got \"overflow, startdenom\".","line":104,"column":1,"nodeType":"Block","endLine":104,"endColumn":1,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":107,"column":1,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":107,"endColumn":2,"fix":{"range":[5119,5119],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"wrap-iife","severity":2,"message":"Move the invocation into the parens that contain the function.","line":107,"column":1,"nodeType":"CallExpression","messageId":"moveInvocation","endLine":278,"endColumn":2,"fix":{"range":[10128,10413],"text":"(\n\t[],   // pool: entropy pool starts empty\n\tMath, // math: package containing random, pow, and seedrandom\n\t256,  // width: each RC4 output is 0 <= x < 256\n\t6,    // chunks: at least six RC4 outputs for each double\n\t52    // significance: there are 52 significant digits in a double\n))"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":107,"column":11,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":107,"endColumn":12,"fix":{"range":[5129,5129],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":107,"column":73,"nodeType":"Program","messageId":"missingClosingSpace","endLine":107,"endColumn":74,"fix":{"range":[5190,5190],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":110,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":110,"endColumn":1,"fix":{"range":[5210,5210],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":111,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":111,"endColumn":16,"fix":{"range":[5216,5217],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":111,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":111,"endColumn":1,"fix":{"range":[5213,5213],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":112,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":112,"endColumn":1,"fix":{"range":[5229,5229],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":113,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":113,"endColumn":1,"fix":{"range":[5281,5281],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":114,"column":6,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":114,"endColumn":7,"fix":{"range":[5290,5290],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"dot-notation","severity":2,"message":"[\"seedrandom\"] is better written in dot notation.","line":114,"column":7,"nodeType":"Literal","messageId":"useDot","endLine":114,"endColumn":19,"fix":{"range":[5289,5303],"text":".seedrandom"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":114,"column":19,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":114,"endColumn":20,"fix":{"range":[5302,5302],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":114,"column":42,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":114,"endColumn":43,"fix":{"range":[5326,5326],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'use_entropy' is not in camel case.","line":114,"column":49,"nodeType":"Identifier","messageId":"notCamelCase","endLine":114,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":114,"column":60,"nodeType":"Program","messageId":"missingClosingSpace","endLine":114,"endColumn":61,"fix":{"range":[5343,5343],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":119,"column":16,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":119,"endColumn":17,"fix":{"range":[5464,5464],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'use_entropy' is not in camel case.","line":120,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":120,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required after '['.","line":120,"column":18,"nodeType":"ArrayExpression","messageId":"missingSpaceAfter","endLine":120,"endColumn":19,"fix":{"range":[5491,5491],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required before ']'.","line":120,"column":29,"nodeType":"ArrayExpression","messageId":"missingSpaceBefore","endLine":120,"endColumn":30,"fix":{"range":[5501,5501],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required after '['.","line":122,"column":6,"nodeType":"ArrayExpression","messageId":"missingSpaceAfter","endLine":122,"endColumn":7,"fix":{"range":[5541,5541],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"unicorn/prefer-date-now","severity":2,"message":"Prefer `Date.now()` over `Date#getTime()`.","line":122,"column":18,"nodeType":"Identifier","messageId":"prefer-date-now-over-methods","endLine":122,"endColumn":25,"fix":{"range":[5541,5561],"text":"Date.now()"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required before ']'.","line":122,"column":41,"nodeType":"ArrayExpression","messageId":"missingSpaceBefore","endLine":122,"endColumn":42,"fix":{"range":[5575,5575],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":122,"column":45,"nodeType":"Program","messageId":"missingClosingSpace","endLine":122,"endColumn":46,"fix":{"range":[5579,5579],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":122,"column":51,"nodeType":"Program","messageId":"missingClosingSpace","endLine":122,"endColumn":52,"fix":{"range":[5585,5585],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":125,"column":18,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":125,"endColumn":19,"fix":{"range":[5658,5658],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":125,"column":22,"nodeType":"Program","messageId":"missingClosingSpace","endLine":125,"endColumn":23,"fix":{"range":[5661,5661],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":128,"column":9,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":128,"endColumn":10,"fix":{"range":[5724,5724],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":128,"column":22,"nodeType":"Program","messageId":"missingClosingSpace","endLine":128,"endColumn":23,"fix":{"range":[5736,5736],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":133,"column":3,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":133,"endColumn":68,"fix":{"range":[5846,5847],"text":"R"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":135,"column":7,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":135,"endColumn":8,"fix":{"range":[5917,5917],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"dot-notation","severity":2,"message":"[\"seededrandom\"] is better written in dot notation.","line":135,"column":8,"nodeType":"Literal","messageId":"useDot","endLine":135,"endColumn":22,"fix":{"range":[5916,5932],"text":".seededrandom"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":135,"column":22,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":135,"endColumn":23,"fix":{"range":[5931,5931],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Closure to ...'.","line":135,"column":45,"nodeType":"Line","messageId":"multipleSpaces","endLine":135,"endColumn":47,"fix":{"range":[5954,5956],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":136,"column":18,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":136,"endColumn":19,"fix":{"range":[6012,6012],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":136,"column":25,"nodeType":"Program","messageId":"missingClosingSpace","endLine":136,"endColumn":26,"fix":{"range":[6018,6018],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Start with ...'.","line":136,"column":27,"nodeType":"Line","messageId":"multipleSpaces","endLine":136,"endColumn":40,"fix":{"range":[6020,6033],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   and denom...'.","line":137,"column":23,"nodeType":"Line","messageId":"multipleSpaces","endLine":137,"endColumn":40,"fix":{"range":[6092,6109],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":137,"column":40,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":137,"endColumn":72,"fix":{"range":[6114,6115],"text":"A"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   and no 'e...'.","line":138,"column":14,"nodeType":"Line","messageId":"multipleSpaces","endLine":138,"endColumn":40,"fix":{"range":[6155,6181],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":138,"column":40,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":138,"endColumn":70,"fix":{"range":[6186,6187],"text":"A"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":139,"column":10,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":139,"endColumn":11,"fix":{"range":[6222,6222],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":139,"column":27,"nodeType":"Program","messageId":"missingClosingSpace","endLine":139,"endColumn":28,"fix":{"range":[6238,6238],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Fill up all...'.","line":139,"column":30,"nodeType":"Line","messageId":"multipleSpaces","endLine":139,"endColumn":40,"fix":{"range":[6241,6251],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":140,"column":9,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":140,"endColumn":10,"fix":{"range":[6297,6297],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":140,"column":15,"nodeType":"Program","messageId":"missingClosingSpace","endLine":140,"endColumn":16,"fix":{"range":[6302,6302],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   shifting ...'.","line":140,"column":25,"nodeType":"Line","messageId":"multipleSpaces","endLine":140,"endColumn":39,"fix":{"range":[6312,6326],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":140,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":140,"endColumn":66,"fix":{"range":[6331,6332],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   denominat...'.","line":141,"column":16,"nodeType":"Line","messageId":"multipleSpaces","endLine":141,"endColumn":39,"fix":{"range":[6369,6392],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":141,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":141,"endColumn":72,"fix":{"range":[6397,6398],"text":"D"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":142,"column":15,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":142,"endColumn":16,"fix":{"range":[6441,6441],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":142,"column":17,"nodeType":"Program","messageId":"missingClosingSpace","endLine":142,"endColumn":18,"fix":{"range":[6442,6442],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   new least...'.","line":142,"column":19,"nodeType":"Line","messageId":"multipleSpaces","endLine":142,"endColumn":39,"fix":{"range":[6444,6464],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":142,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":142,"endColumn":71,"fix":{"range":[6469,6470],"text":"N"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":144,"column":10,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":144,"endColumn":11,"fix":{"range":[6512,6512],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":144,"column":24,"nodeType":"Program","messageId":"missingClosingSpace","endLine":144,"endColumn":25,"fix":{"range":[6525,6525],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// To avoid ro...'.","line":144,"column":27,"nodeType":"Line","messageId":"multipleSpaces","endLine":144,"endColumn":40,"fix":{"range":[6528,6541],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   last byte...'.","line":145,"column":12,"nodeType":"Line","messageId":"multipleSpaces","endLine":145,"endColumn":39,"fix":{"range":[6591,6618],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":145,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":145,"endColumn":71,"fix":{"range":[6623,6624],"text":"L"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   right usi...'.","line":146,"column":12,"nodeType":"Line","messageId":"multipleSpaces","endLine":146,"endColumn":39,"fix":{"range":[6662,6689],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":146,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":146,"endColumn":74,"fix":{"range":[6694,6695],"text":"R"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>>='.","line":147,"column":5,"nodeType":"AssignmentExpression","messageId":"unexpected","endLine":147,"endColumn":13,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '//   we have e...'.","line":147,"column":14,"nodeType":"Line","messageId":"multipleSpaces","endLine":147,"endColumn":39,"fix":{"range":[6738,6763],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":147,"column":39,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":147,"endColumn":77,"fix":{"range":[6768,6769],"text":"W"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":149,"column":11,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":149,"endColumn":12,"fix":{"range":[6818,6818],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":149,"column":17,"nodeType":"Program","messageId":"missingClosingSpace","endLine":149,"endColumn":18,"fix":{"range":[6823,6823],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Form the nu...'.","line":149,"column":23,"nodeType":"Line","messageId":"multipleSpaces","endLine":149,"endColumn":40,"fix":{"range":[6829,6846],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":156,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":156,"endColumn":1,"fix":{"range":[6941,6941],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":157,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":157,"endColumn":1,"fix":{"range":[6944,6944],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":158,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":158,"endColumn":1,"fix":{"range":[6952,6952],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":159,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":159,"endColumn":1,"fix":{"range":[6955,6955],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":160,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":160,"endColumn":73,"fix":{"range":[7029,7030],"text":"A"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":160,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":160,"endColumn":1,"fix":{"range":[7026,7026],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":161,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":161,"endColumn":1,"fix":{"range":[7099,7099],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":162,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":162,"endColumn":1,"fix":{"range":[7102,7102],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":163,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":163,"endColumn":71,"fix":{"range":[7177,7178],"text":"T"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":163,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":163,"endColumn":1,"fix":{"range":[7174,7174],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":164,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":164,"endColumn":50,"fix":{"range":[7248,7249],"text":"T"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":164,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":164,"endColumn":1,"fix":{"range":[7245,7245],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":165,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":165,"endColumn":1,"fix":{"range":[7295,7295],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"key\" declaration.","line":166,"column":2,"nodeType":"Block","endLine":166,"endColumn":21,"fix":{"range":[7299,7318],"text":"/**\n\t * @param key\n\t * @constructor\n\t */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":167,"column":15,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":167,"endColumn":16,"fix":{"range":[7334,7334],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":167,"column":19,"nodeType":"Program","messageId":"missingClosingSpace","endLine":167,"endColumn":20,"fix":{"range":[7337,7337],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":174,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":174,"endColumn":7,"fix":{"range":[7500,7500],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":174,"column":14,"nodeType":"Program","messageId":"missingClosingSpace","endLine":174,"endColumn":15,"fix":{"range":[7507,7507],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":174,"column":16,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":174,"endColumn":17,"fix":{"range":[7510,7510],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":174,"column":18,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":174,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required after '['.","line":174,"column":24,"nodeType":"ArrayExpression","messageId":"missingSpaceAfter","endLine":174,"endColumn":25,"fix":{"range":[7518,7518],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"array-bracket-spacing","severity":2,"message":"A space is required before ']'.","line":174,"column":33,"nodeType":"ArrayExpression","messageId":"missingSpaceBefore","endLine":174,"endColumn":34,"fix":{"range":[7526,7526],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":174,"column":36,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":174,"endColumn":37,"fix":{"range":[7529,7529],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":177,"column":9,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":177,"endColumn":10,"fix":{"range":[7600,7600],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":177,"column":19,"nodeType":"Program","messageId":"missingClosingSpace","endLine":177,"endColumn":20,"fix":{"range":[7609,7609],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":177,"column":21,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":177,"endColumn":22,"fix":{"range":[7612,7612],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":177,"column":23,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":177,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":177,"column":27,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":177,"endColumn":28,"fix":{"range":[7618,7618],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":177,"column":29,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":177,"endColumn":30,"fix":{"range":[7619,7619],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":177,"column":38,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":177,"endColumn":39,"fix":{"range":[7628,7628],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":178,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":178,"endColumn":8,"fix":{"range":[7637,7637],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":178,"column":29,"nodeType":"Program","messageId":"missingClosingSpace","endLine":178,"endColumn":30,"fix":{"range":[7658,7658],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":179,"column":12,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":179,"endColumn":13,"fix":{"range":[7674,7674],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":179,"column":14,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":179,"endColumn":15,"fix":{"range":[7675,7675],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":180,"column":15,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":180,"endColumn":16,"fix":{"range":[7693,7693],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":180,"column":27,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":180,"endColumn":28,"fix":{"range":[7705,7705],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":180,"column":38,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":180,"endColumn":39,"fix":{"range":[7715,7715],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":180,"column":39,"nodeType":"Program","messageId":"missingClosingSpace","endLine":180,"endColumn":40,"fix":{"range":[7716,7716],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":181,"column":12,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":181,"endColumn":13,"fix":{"range":[7731,7731],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":181,"column":14,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":181,"endColumn":15,"fix":{"range":[7732,7732],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":182,"column":8,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":182,"endColumn":9,"fix":{"range":[7743,7743],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":182,"column":10,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":182,"endColumn":11,"fix":{"range":[7744,7744],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":183,"column":8,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":183,"endColumn":9,"fix":{"range":[7759,7759],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":183,"column":10,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":183,"endColumn":11,"fix":{"range":[7760,7760],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":187,"column":26,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":187,"endColumn":27,"fix":{"range":[7866,7866],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":187,"column":32,"nodeType":"Program","messageId":"missingClosingSpace","endLine":187,"endColumn":33,"fix":{"range":[7871,7871],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'i' is already declared in the upper scope on line 169 column 7.","line":189,"column":8,"nodeType":"Identifier","messageId":"noShadow","endLine":189,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":189,"column":19,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":189,"endColumn":20,"fix":{"range":[7911,7911],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":189,"column":28,"nodeType":"Program","messageId":"missingClosingSpace","endLine":189,"endColumn":29,"fix":{"range":[7919,7919],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":189,"column":31,"nodeType":"VariableDeclaration","messageId":"exceed","endLine":189,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'t' is already declared in the upper scope on line 168 column 7.","line":189,"column":35,"nodeType":"Identifier","messageId":"noShadow","endLine":189,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":189,"column":40,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":189,"endColumn":41,"fix":{"range":[7932,7932],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":189,"column":42,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":189,"endColumn":43,"fix":{"range":[7933,7933],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'j' is already declared in the upper scope on line 169 column 14.","line":190,"column":8,"nodeType":"Identifier","messageId":"noShadow","endLine":190,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":190,"column":19,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":190,"endColumn":20,"fix":{"range":[7955,7955],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":190,"column":28,"nodeType":"Program","messageId":"missingClosingSpace","endLine":190,"endColumn":29,"fix":{"range":[7963,7963],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":190,"column":31,"nodeType":"VariableDeclaration","messageId":"exceed","endLine":190,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'u' is already declared in the upper scope on line 168 column 10.","line":190,"column":35,"nodeType":"Identifier","messageId":"noShadow","endLine":190,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":190,"column":40,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":190,"endColumn":41,"fix":{"range":[7976,7976],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":190,"column":42,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":190,"endColumn":43,"fix":{"range":[7977,7977],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":191,"column":5,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":191,"endColumn":6,"fix":{"range":[7985,7985],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":191,"column":7,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":191,"endColumn":8,"fix":{"range":[7986,7986],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":192,"column":5,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":192,"endColumn":6,"fix":{"range":[7998,7998],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":192,"column":7,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":192,"endColumn":8,"fix":{"range":[7999,7999],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":193,"column":13,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":193,"endColumn":14,"fix":{"range":[8019,8019],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":193,"column":21,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":193,"endColumn":22,"fix":{"range":[8027,8027],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":193,"column":27,"nodeType":"Program","messageId":"missingClosingSpace","endLine":193,"endColumn":28,"fix":{"range":[8032,8032],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":193,"column":28,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":193,"endColumn":29,"fix":{"range":[8033,8033],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":194,"column":10,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":194,"endColumn":11,"fix":{"range":[8046,8046],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":194,"column":18,"nodeType":"Program","messageId":"missingClosingSpace","endLine":194,"endColumn":19,"fix":{"range":[8053,8053],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":195,"column":16,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":195,"endColumn":17,"fix":{"range":[8073,8073],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":195,"column":22,"nodeType":"Program","messageId":"missingClosingSpace","endLine":195,"endColumn":23,"fix":{"range":[8078,8078],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":195,"column":25,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":195,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":195,"column":30,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":195,"endColumn":31,"fix":{"range":[8087,8087],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":195,"column":32,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":195,"endColumn":33,"fix":{"range":[8088,8088],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":196,"column":16,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":196,"endColumn":17,"fix":{"range":[8107,8107],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":196,"column":22,"nodeType":"Program","messageId":"missingClosingSpace","endLine":196,"endColumn":23,"fix":{"range":[8112,8112],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":196,"column":25,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":196,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":196,"column":30,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":196,"endColumn":31,"fix":{"range":[8121,8121],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":196,"column":32,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":196,"endColumn":33,"fix":{"range":[8122,8122],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":197,"column":6,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":197,"endColumn":7,"fix":{"range":[8131,8131],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":197,"column":8,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":197,"endColumn":9,"fix":{"range":[8132,8132],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":198,"column":6,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":198,"endColumn":7,"fix":{"range":[8145,8145],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":198,"column":8,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":198,"endColumn":9,"fix":{"range":[8146,8146],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":199,"column":22,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":199,"endColumn":23,"fix":{"range":[8175,8175],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":199,"column":30,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":199,"endColumn":31,"fix":{"range":[8183,8183],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":199,"column":36,"nodeType":"Program","messageId":"missingClosingSpace","endLine":199,"endColumn":37,"fix":{"range":[8188,8188],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":199,"column":37,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":199,"endColumn":38,"fix":{"range":[8189,8189],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":207,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":207,"endColumn":8,"fix":{"range":[8370,8370],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":207,"column":13,"nodeType":"Program","messageId":"missingClosingSpace","endLine":207,"endColumn":14,"fix":{"range":[8375,8375],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":210,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":210,"endColumn":1,"fix":{"range":[8382,8382],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":211,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":211,"endColumn":13,"fix":{"range":[8388,8389],"text":"F"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":211,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":211,"endColumn":1,"fix":{"range":[8385,8385],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":212,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":212,"endColumn":1,"fix":{"range":[8398,8398],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":213,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":213,"endColumn":1,"fix":{"range":[8454,8454],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/check-param-names","severity":1,"message":"Expected @param names to be \"obj, depth, result, prop, typ\". Got \"result, prop, typ\".","line":214,"column":1,"nodeType":"Block","endLine":214,"endColumn":1,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/multiline-blocks","severity":1,"message":"Should have no text on the \"0th\" line (after the `/**`).","line":214,"column":2,"nodeType":"Block","endLine":216,"endColumn":28,"fix":{"range":[8458,8539],"text":"/**\n\t * @param {Object=} result\n\t * @param {string=} prop\n\t * @param {string=} typ */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"obj\" declaration.","line":214,"column":2,"nodeType":"Block","endLine":216,"endColumn":28,"fix":{"range":[8458,8539],"text":"* @param obj\n* @param depth\n/** @param {Object=} result\n\t * @param {string=} prop\n\t * @param {string=} typ */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"depth\" declaration.","line":214,"column":2,"nodeType":"Block","endLine":216,"endColumn":28,"fix":{"range":[8458,8539],"text":"* @param obj\n* @param depth\n* @param obj\n* @param depth\n/** @param {Object=} result\n\t * @param {string=} prop\n\t * @param {string=} typ */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":214,"column":2,"nodeType":"Block","endLine":216,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/no-multi-asterisks","severity":2,"message":"Should be no multiple asterisks on end lines.","line":216,"column":1,"nodeType":"Block","endLine":216,"endColumn":1,"fix":{"range":[8458,8539],"text":"/** @param {Object=} result\n\t * @param {string=} prop\n\t  @param {string=} typ */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":217,"column":18,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":217,"endColumn":19,"fix":{"range":[8558,8558],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":217,"column":48,"nodeType":"Program","messageId":"missingClosingSpace","endLine":217,"endColumn":49,"fix":{"range":[8587,8587],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-unary-ops","severity":2,"message":"Unary word operator 'typeof' must be followed by whitespace.","line":219,"column":9,"nodeType":"UnaryExpression","messageId":"wordOperator","endLine":219,"endColumn":20,"fix":{"range":[8620,8620],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":219,"column":15,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":219,"endColumn":16,"fix":{"range":[8621,8621],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":219,"column":19,"nodeType":"Program","messageId":"missingClosingSpace","endLine":219,"endColumn":20,"fix":{"range":[8624,8624],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":220,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":220,"endColumn":7,"fix":{"range":[8633,8633],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":220,"column":20,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":220,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":220,"column":31,"nodeType":"Program","messageId":"missingClosingSpace","endLine":220,"endColumn":32,"fix":{"range":[8657,8657],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":221,"column":8,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":221,"endColumn":9,"fix":{"range":[8669,8669],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":221,"column":20,"nodeType":"Program","messageId":"missingClosingSpace","endLine":221,"endColumn":21,"fix":{"range":[8680,8680],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":222,"column":8,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":222,"endColumn":9,"fix":{"range":[8692,8692],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":222,"column":21,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":222,"endColumn":22,"fix":{"range":[8705,8705],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":222,"column":25,"nodeType":"Program","messageId":"missingClosingSpace","endLine":222,"endColumn":26,"fix":{"range":[8708,8708],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":222,"column":30,"nodeType":"Program","messageId":"missingClosingSpace","endLine":222,"endColumn":31,"fix":{"range":[8713,8713],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Avoid FF3 b...'.","line":222,"column":33,"nodeType":"Line","messageId":"multipleSpaces","endLine":222,"endColumn":37,"fix":{"range":[8716,8720],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":223,"column":10,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":223,"endColumn":11,"fix":{"range":[8770,8770],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":223,"column":12,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":223,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":223,"column":23,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":223,"endColumn":24,"fix":{"range":[8783,8783],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":223,"column":31,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":223,"endColumn":32,"fix":{"range":[8791,8791],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":223,"column":35,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":223,"endColumn":36,"fix":{"range":[8795,8795],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":223,"column":40,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":223,"endColumn":41,"fix":{"range":[8799,8799],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":223,"column":52,"nodeType":"Program","messageId":"missingClosingSpace","endLine":223,"endColumn":53,"fix":{"range":[8811,8811],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":223,"column":53,"nodeType":"Program","messageId":"missingClosingSpace","endLine":223,"endColumn":54,"fix":{"range":[8812,8812],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":223,"column":56,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":223,"endColumn":57,"fix":{"range":[8815,8815],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":223,"column":64,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":223,"endColumn":65,"fix":{"range":[8824,8824],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":223,"column":66,"nodeType":"Program","messageId":"missingClosingSpace","endLine":223,"endColumn":67,"fix":{"range":[8825,8825],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":227,"column":10,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":227,"endColumn":11,"fix":{"range":[8855,8855],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":227,"column":42,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":227,"endColumn":43,"fix":{"range":[8887,8887],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":227,"column":47,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":227,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":227,"column":70,"nodeType":"Program","messageId":"missingClosingSpace","endLine":227,"endColumn":71,"fix":{"range":[8914,8914],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":227,"column":71,"nodeType":"Program","messageId":"missingClosingSpace","endLine":227,"endColumn":72,"fix":{"range":[8915,8915],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":230,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":230,"endColumn":1,"fix":{"range":[8922,8922],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":231,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":231,"endColumn":12,"fix":{"range":[8928,8929],"text":"M"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":231,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":231,"endColumn":1,"fix":{"range":[8925,8925],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":232,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":232,"endColumn":1,"fix":{"range":[8937,8937],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":233,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":233,"endColumn":73,"fix":{"range":[9008,9009],"text":"R"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":233,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":233,"endColumn":1,"fix":{"range":[9005,9005],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":234,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":234,"endColumn":1,"fix":{"range":[9078,9078],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/check-param-names","severity":1,"message":"Expected @param names to be \"seed, key, smear, j\". Got \"smear, j\".","line":235,"column":1,"nodeType":"Block","endLine":235,"endColumn":1,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/multiline-blocks","severity":1,"message":"Should have no text on the \"0th\" line (after the `/**`).","line":235,"column":2,"nodeType":"Block","endLine":236,"endColumn":26,"fix":{"range":[9082,9134],"text":"/**\n\t * @param {number=} smear\n\t * @param {number=} j */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"seed\" declaration.","line":235,"column":2,"nodeType":"Block","endLine":236,"endColumn":26,"fix":{"range":[9082,9134],"text":"* @param seed\n* @param key\n/** @param {number=} smear\n\t * @param {number=} j */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-param","severity":1,"message":"Missing JSDoc @param \"key\" declaration.","line":235,"column":2,"nodeType":"Block","endLine":236,"endColumn":26,"fix":{"range":[9082,9134],"text":"* @param seed\n* @param key\n* @param seed\n* @param key\n/** @param {number=} smear\n\t * @param {number=} j */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":235,"column":2,"nodeType":"Block","endLine":236,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"jsdoc/no-multi-asterisks","severity":2,"message":"Should be no multiple asterisks on end lines.","line":236,"column":1,"nodeType":"Block","endLine":236,"endColumn":1,"fix":{"range":[9082,9134],"text":"/** @param {number=} smear\n\t  @param {number=} j */"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":237,"column":17,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":237,"endColumn":18,"fix":{"range":[9152,9152],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":237,"column":37,"nodeType":"Program","messageId":"missingClosingSpace","endLine":237,"endColumn":38,"fix":{"range":[9171,9171],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-implicit-coercion","severity":2,"message":"use `seed = String(seed)` instead.","line":238,"column":3,"nodeType":"AssignmentExpression","messageId":"useRecommendation","endLine":238,"endColumn":13,"fix":{"range":[9177,9187],"text":"seed = String(seed)"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// Ensure the ...'.","line":238,"column":14,"nodeType":"Line","messageId":"multipleSpaces","endLine":238,"endColumn":39,"fix":{"range":[9188,9213],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":240,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":240,"endColumn":8,"fix":{"range":[9264,9264],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":240,"column":35,"nodeType":"Program","messageId":"missingClosingSpace","endLine":240,"endColumn":36,"fix":{"range":[9291,9291],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":241,"column":7,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":241,"endColumn":8,"fix":{"range":[9302,9302],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":241,"column":15,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":241,"endColumn":16,"fix":{"range":[9310,9310],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":241,"column":17,"nodeType":"Program","messageId":"missingClosingSpace","endLine":241,"endColumn":18,"fix":{"range":[9311,9311],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":241,"column":18,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":241,"endColumn":19,"fix":{"range":[9312,9312],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":242,"column":12,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":242,"endColumn":13,"fix":{"range":[9328,9328],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":242,"column":13,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":242,"endColumn":14,"fix":{"range":[9329,9329],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '^='.","line":242,"column":14,"nodeType":"AssignmentExpression","messageId":"unexpected","endLine":242,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":242,"column":26,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":242,"endColumn":27,"fix":{"range":[9342,9342],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":242,"column":34,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":242,"endColumn":35,"fix":{"range":[9350,9350],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":242,"column":36,"nodeType":"Program","messageId":"missingClosingSpace","endLine":242,"endColumn":37,"fix":{"range":[9351,9351],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":242,"column":37,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":242,"endColumn":38,"fix":{"range":[9352,9352],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":242,"column":43,"nodeType":"Program","messageId":"missingClosingSpace","endLine":242,"endColumn":44,"fix":{"range":[9358,9358],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":242,"column":62,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":242,"endColumn":63,"fix":{"range":[9378,9378],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":242,"column":64,"nodeType":"Program","messageId":"missingClosingSpace","endLine":242,"endColumn":65,"fix":{"range":[9379,9379],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":242,"column":65,"nodeType":"Program","messageId":"missingClosingSpace","endLine":242,"endColumn":66,"fix":{"range":[9380,9380],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":245,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":245,"endColumn":8,"fix":{"range":[9407,9407],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":245,"column":16,"nodeType":"Program","messageId":"missingClosingSpace","endLine":245,"endColumn":17,"fix":{"range":[9415,9415],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":245,"column":18,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":245,"endColumn":19,"fix":{"range":[9418,9418],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":245,"column":20,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":245,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":245,"column":47,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":245,"endColumn":48,"fix":{"range":[9447,9447],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required after '['.","line":245,"column":51,"nodeType":"MemberExpression","messageId":"missingSpaceAfter","endLine":245,"endColumn":52,"fix":{"range":[9451,9451],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"computed-property-spacing","severity":2,"message":"A space is required before ']'.","line":245,"column":53,"nodeType":"MemberExpression","messageId":"missingSpaceBefore","endLine":245,"endColumn":54,"fix":{"range":[9452,9452],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":245,"column":54,"nodeType":"Program","messageId":"missingClosingSpace","endLine":245,"endColumn":55,"fix":{"range":[9453,9453],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":245,"column":57,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":245,"endColumn":58,"fix":{"range":[9456,9456],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":249,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":249,"endColumn":1,"fix":{"range":[9477,9477],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":250,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":250,"endColumn":13,"fix":{"range":[9483,9484],"text":"L"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":250,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":250,"endColumn":1,"fix":{"range":[9480,9480],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":251,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":251,"endColumn":1,"fix":{"range":[9493,9493],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":252,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":252,"endColumn":1,"fix":{"range":[9542,9542],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":253,"column":18,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":253,"endColumn":19,"fix":{"range":[9563,9563],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":253,"column":20,"nodeType":"Program","messageId":"missingClosingSpace","endLine":253,"endColumn":21,"fix":{"range":[9564,9564],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":253,"column":22,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":253,"endColumn":23,"fix":{"range":[9567,9567],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":253,"column":24,"nodeType":"ReturnStatement","messageId":"exceed","endLine":253,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":253,"column":31,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":253,"endColumn":46,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":253,"column":35,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":253,"endColumn":36,"fix":{"range":[9580,9580],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":253,"column":45,"nodeType":"Program","messageId":"missingClosingSpace","endLine":253,"endColumn":46,"fix":{"range":[9589,9589],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":253,"column":48,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":253,"endColumn":49,"fix":{"range":[9592,9592],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":255,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":255,"endColumn":1,"fix":{"range":[9595,9595],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":256,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":256,"endColumn":1,"fix":{"range":[9598,9598],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":257,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":257,"endColumn":1,"fix":{"range":[9657,9657],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":258,"column":23,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":258,"endColumn":24,"fix":{"range":[9683,9683],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":258,"column":37,"nodeType":"Program","messageId":"missingClosingSpace","endLine":258,"endColumn":38,"fix":{"range":[9696,9696],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":259,"column":25,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":259,"endColumn":26,"fix":{"range":[9724,9724],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":259,"column":41,"nodeType":"Program","messageId":"missingClosingSpace","endLine":259,"endColumn":42,"fix":{"range":[9739,9739],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":262,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":262,"endColumn":1,"fix":{"range":[9773,9773],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":263,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":263,"endColumn":1,"fix":{"range":[9776,9776],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":264,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":264,"endColumn":63,"fix":{"range":[9842,9843],"text":"F"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":264,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":264,"endColumn":1,"fix":{"range":[9839,9839],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":265,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":265,"endColumn":60,"fix":{"range":[9905,9906],"text":"N"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":265,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":265,"endColumn":1,"fix":{"range":[9902,9902],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":266,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":266,"endColumn":63,"fix":{"range":[9965,9966],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":266,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":266,"endColumn":1,"fix":{"range":[9962,9962],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":267,"column":1,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":267,"endColumn":19,"fix":{"range":[10028,10029],"text":"I"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":267,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":267,"endColumn":1,"fix":{"range":[10025,10025],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 0.","line":268,"column":1,"nodeType":"Line","messageId":"wrongIndentation","endLine":268,"endColumn":1,"fix":{"range":[10044,10044],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":269,"column":8,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":269,"endColumn":9,"fix":{"range":[10055,10055],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":269,"column":28,"nodeType":"Program","messageId":"missingClosingSpace","endLine":269,"endColumn":29,"fix":{"range":[10074,10074],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":272,"column":2,"nodeType":"Program","messageId":"missingClosingSpace","endLine":272,"endColumn":3,"fix":{"range":[10128,10128],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// pool: entro...'.","line":273,"column":5,"nodeType":"Line","messageId":"multipleSpaces","endLine":273,"endColumn":8,"fix":{"range":[10135,10138],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":273,"column":8,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":273,"endColumn":42,"fix":{"range":[10141,10142],"text":"P"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":274,"column":8,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":274,"endColumn":63,"fix":{"range":[10183,10184],"text":"M"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// width: each...'.","line":275,"column":6,"nodeType":"Line","messageId":"multipleSpaces","endLine":275,"endColumn":8,"fix":{"range":[10241,10243],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":275,"column":8,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":275,"endColumn":49,"fix":{"range":[10246,10247],"text":"W"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// chunks: at ...'.","line":276,"column":4,"nodeType":"Line","messageId":"multipleSpaces","endLine":276,"endColumn":8,"fix":{"range":[10288,10292],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":276,"column":8,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":276,"endColumn":59,"fix":{"range":[10295,10296],"text":"C"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before '// significanc...'.","line":277,"column":4,"nodeType":"Line","messageId":"multipleSpaces","endLine":277,"endColumn":8,"fix":{"range":[10347,10351],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"capitalized-comments","severity":2,"message":"Comments should not begin with a lowercase character.","line":277,"column":8,"nodeType":null,"messageId":"unexpectedLowercaseComment","endLine":277,"endColumn":68,"fix":{"range":[10354,10355],"text":"S"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/topten-localized.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":12,"column":1,"nodeType":"Block","endLine":12,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"wmTest\" type.","line":13,"column":1,"nodeType":"Block","endLine":13,"endColumn":1},{"ruleId":"max-len","severity":1,"message":"This line has a length of 101. Maximum allowed is 100.","line":117,"column":1,"nodeType":"Program","messageId":"max","endLine":117,"endColumn":93},{"ruleId":"max-len","severity":1,"message":"This line has a length of 117. Maximum allowed is 100.","line":122,"column":1,"nodeType":"Program","messageId":"max","endLine":122,"endColumn":109}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* global wmTest, translationsHash, wmL10nVisible, rtlLangs, portalSearchDomain */\n/**\n * This code was used to localize the top-ten language links\n * for the A/B test titled \"A/B test: browser language detection\"\n *\n * Depends on a global wmStats object generated by controller.js\n * and written to site-defs.js\n *\n * A/B test documented here:\n * https://www.mediawiki.org/wiki/Wikipedia.org_Portal_A/B_testing\n *\n * @param mw\n * @param wmTest\n */\n\n( function ( mw, wmTest ) {\n\n\tvar preferredLanguages = wmTest.userLangs,\n\t\tprimaryLang = wmTest.primaryLang,\n\t\ttopLinks = document.querySelectorAll( '.central-featured-lang' ),\n\t\ttopLinksContainer = document.querySelector( '.central-featured' ),\n\t\ttopLinkLangs,\n\t\tstoredTranslationHash = mw.storage.get( 'translationHash' ),\n\t\tstoredTranslations;\n\n\t/**\n\t * Helper function to safely parse JSON an return empty string on error.\n\t *\n\t * @param {string} json\n\t * @return {*}\n\t */\n\tfunction safelyParseJSON( json ) {\n\t\tvar parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse( json );\n\t\t} catch ( e ) {\n\t\t\tparsed = '';\n\t\t}\n\t\treturn parsed;\n\t}\n\n\tstoredTranslations = safelyParseJSON( mw.storage.get( 'storedTranslations' ) ) || {};\n\n\t// Generate an array of language codes based on the lang attributes of the top-ten links.\n\ttopLinkLangs = Array.prototype.map.call( topLinks, function ( link ) {\n\t\treturn link.getAttribute( 'lang' );\n\t} );\n\n\t/**\n\t * TranslationHash is a global variable that is a hash of all translation strings.\n\t * it is generated during the build step and placed onto the page with mustache templates.\n\t * For more info on how this hash is generated, see ../controller.js\n\t * This hash is now stored in localstorage.\n\t * If the localstorage version of the hash differs from the global variable,\n\t * that means a translation has changed and we need to ajax in new translations.\n\t */\n\tif ( storedTranslationHash !== translationsHash ) {\n\t\tmw.storage.set( 'translationHash', translationsHash );\n\t\tmw.storage.remove( 'storedTranslations' );\n\t}\n\n\t/**\n\t * Merges the preferred language codes {@link #preferredLanguages} with the\n\t * existing top ten languages {@link #topLinkLangs}.\n\t * - If a preferred language exists in the top ten, it is moved to the top of the array.\n\t * - If a preferred language doesn't exist, it is added to the array and the last language\n\t * is removed.\n\t *\n\t * Manipulates the {@link #topLinkLangs} array.\n\t */\n\tfunction mergeNewTopLinkLangs() {\n\t\tvar i, pl, plIndex, plExists, plRightSpot;\n\t\tfor ( i = 0; i < preferredLanguages.length; i++ ) {\n\t\t\tpl = preferredLanguages[ i ];\n\t\t\tplIndex = topLinkLangs.indexOf( pl );\n\t\t\tplExists = plIndex >= 0;\n\t\t\tplRightSpot = plIndex === i;\n\n\t\t\tif ( plExists ) {\n\t\t\t\tif ( !plRightSpot ) {\n\t\t\t\t\ttopLinkLangs.splice( i, 0, topLinkLangs.splice( plIndex, 1 )[ 0 ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttopLinkLangs.splice( i, 0, pl );\n\t\t\t\ttopLinkLangs.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Manipulates the DOM of a top-ten item with new content.\n\t * Essentially, instead of creating new elements, we move existing elements and\n\t * replace their textContent and attributes with a different content.\n\t *\n\t * @param {HTMLElement} node A DOM Element from the top-ten links that will be modified.\n\t * @param {Object} wikiInfo The info to modify the node with.\n\t * @param {boolean} localizeVariant Whether we are only localizing to variant.\n\t */\n\tfunction updateTopLinkDOM( node, wikiInfo, localizeVariant ) {\n\t\tvar anchor = node.getElementsByTagName( 'a' )[ 0 ],\n\t\t\telePages = node.getElementsByTagName( 'small' )[ 0 ],\n\t\t\teleEntries = elePages.getElementsByTagName( 'span' )[ 0 ],\n\t\t\teleCaption = node.getElementsByTagName( 'strong' )[ 0 ];\n\n\t\tanchor.setAttribute( 'id', 'js-link-box-' + wikiInfo.lang );\n\t\tanchor.setAttribute( 'data-slogan', wikiInfo.slogan || 'The Free Encyclopedia' );\n\t\teleEntries.textContent = wikiInfo.entries || '';\n\t\tnode.setAttribute( 'lang', wikiInfo.lang );\n\n\t\tif ( !localizeVariant ) {\n\t\t\t// Some language names are placed within HTML tags.\n\t\t\t// Strip the tags for the title attribute.\n\t\t\tvar langNameStripped = wikiInfo.name.replace( /<\\/?[^>]+(>|$)/g, '' );\n\n\t\t\tanchor.setAttribute( 'href', '//' + wikiInfo.url );\n\t\t\tanchor.setAttribute( 'title', langNameStripped + ' — ' + wikiInfo.siteName + ' — ' + ( wikiInfo.slogan || '' ) );\n\t\t\t// TODO: We may want to set `innerHTML = wikiInfo.name` instead as the rendered HTML did.\n\t\t\teleCaption.textContent = langNameStripped;\n\t\t\telePages.textContent = wikiInfo.numPages + '+ ';\n\t\t\telePages.appendChild( eleEntries );\n\t\t} else {\n\t\t\t// FIXME: wikiInfo.name for the main code (e.g. zh) and variants (e.g. zh-hans) are not the same thing...\n\t\t\tanchor.setAttribute( 'title', eleCaption.textContent + ' — ' + wikiInfo.name + ' — ' + ( wikiInfo.slogan || '' ) );\n\t\t}\n\t}\n\n\t/**\n\t * Renames the top link classes to appear correctly around the globe image.\n\t * this should happen after the top links nodes have been reorganized.\n\t */\n\tfunction reorganizeTopLinkClasses() {\n\t\tvar topLink,\n\t\t\ttopLinkLang,\n\t\t\ttopLinkClass,\n\t\t\tcorrectClassName,\n\t\t\ttopLinksCorrectLangs = true,\n\t\t\ti;\n\n\t\ttopLinks = document.querySelectorAll( '.central-featured-lang' );\n\n\t\tfor ( i = 0; i < topLinks.length && topLinksCorrectLangs === true; i++ ) {\n\t\t\t/**\n\t\t\t * Get the main code, we want the lang attribute varied to zh-hans and zh-hant\n\t\t\t * for Chinese users, because the font style for them are different.\n\t\t\t */\n\t\t\ttopLinkLang = topLinks[ i ].getAttribute( 'lang' ).split( '-' )[ 0 ];\n\t\t\ttopLinksCorrectLangs = topLinkLangs.indexOf( topLinkLang ) >= 0;\n\t\t}\n\n\t\tfor ( i = 0; i < topLinks.length; i++ ) {\n\t\t\tif ( topLinksCorrectLangs ) {\n\t\t\t\ttopLink = topLinks[ i ];\n\t\t\t\ttopLinkClass = topLink.className;\n\t\t\t\tcorrectClassName = 'central-featured-lang lang' + ( i + 1 );\n\n\t\t\t\tif ( topLinkClass !== correctClassName ) {\n\t\t\t\t\ttopLink.className = correctClassName;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves top-ten item info. via ajax.\n\t * On every successful request, we update the top-link DOM, create the localized slogan, and\n\t * reorganize the top-link classes. Each of these methods check to see if the expected\n\t * (i.e. final) data exists before executing. This accomodates both synchronous and\n\t * asynchronous execution.\n\t *\n\t * After a successful request, the data is appended to a localStorage variable to prevent\n\t * subsequest ajax requests.\n\t *\n\t * @param {HTMLElement} node A DOM node that will be modified with new info upon ajax success.\n\t * @param {string} lang Language code for which to get new wiki info.\n\t * @param {boolean} localizeVariant Whether we are only localizing to variant.\n\t */\n\tfunction getAjaxTranslation( node, lang, localizeVariant ) {\n\n\t\tvar i18nReq = new XMLHttpRequest(),\n\t\t\twikiInfo;\n\n\t\ti18nReq.open( 'GET', encodeURI( 'portal/' + portalSearchDomain + '/assets/l10n/' + lang + '-' + translationsHash + '.json' ), true );\n\n\t\ti18nReq.onload = function () {\n\n\t\t\tif ( i18nReq.status !== 200 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twikiInfo = safelyParseJSON( this.responseText );\n\n\t\t\tif ( wikiInfo ) {\n\t\t\t\tupdateTopLinkDOM( node, wikiInfo, localizeVariant );\n\t\t\t\treorganizeTopLinkClasses();\n\t\t\t\tstoredTranslations = safelyParseJSON( mw.storage.get( 'storedTranslations' ) ) || {};\n\t\t\t\tstoredTranslations[ lang ] = wikiInfo;\n\t\t\t\tmw.storage.set( 'storedTranslations', JSON.stringify( storedTranslations ) );\n\t\t\t}\n\t\t};\n\n\t\ti18nReq.send();\n\t}\n\n\t/**\n\t * Determines whether to ajax in new language info or use it from localStorage.\n\t *\n\t * @param {HTMLElement} node The DOM node that will be modified with new info.\n\t * @param {string} lang The language code with which to modify the node.\n\t * @param {boolean} localizeVariant Whether we are only localizing to variant.\n\t */\n\tfunction localizeTopLink( node, lang, localizeVariant ) {\n\t\tvar translations = storedTranslations;\n\n\t\tlocalizeVariant = localizeVariant || false;\n\n\t\tif ( translations[ lang ] ) {\n\t\t\tupdateTopLinkDOM( node, translations[ lang ], localizeVariant );\n\t\t} else {\n\t\t\tgetAjaxTranslation( node, lang, localizeVariant );\n\t\t}\n\t}\n\n\t/**\n\t * Looks for a top-link DOM node that can be re-purposed with new content.\n\t * Returns the first DOM node that does not have a lang attribute that is\n\t * one of topLinkLangs.\n\t *\n\t * @return {HTMLElement} Node that can be reused with new content.\n\t */\n\tfunction findReusableTopLink() {\n\t\tvar reusableTopLink = null,\n\t\t\ttopLinkLang,\n\t\t\ti;\n\n\t\tfor ( i = topLinkLangs.length - 1; i >= 0 && reusableTopLink === null; i-- ) {\n\t\t\ttopLinkLang = topLinks[ i ].getAttribute( 'lang' );\n\t\t\tif ( topLinkLangs.indexOf( topLinkLang ) < 0 ) {\n\t\t\t\treusableTopLink = topLinks[ i ];\n\t\t\t}\n\t\t}\n\t\treturn reusableTopLink;\n\t}\n\n\t/**\n\t * Reorganizes the DOM order of top links based on the {@link #topLinkLangs} array.\n\t * If a preferred language in `topLinkLangs` does not exist in\n\t * the top ten, then the last node in the top ten is manipulated\n\t * to contain the new language.\n\t */\n\tfunction organizeTopLinks() {\n\t\tvar i,\n\t\t\ttopLinkLang,\n\t\t\ttopLinkNode,\n\t\t\ttopLinkNodeIndex,\n\t\t\trepurposedTopLink;\n\n\t\tfor ( i = 0; i < topLinkLangs.length; i++ ) {\n\n\t\t\ttopLinks = document.querySelectorAll( '.central-featured-lang' );\n\t\t\ttopLinkLang = topLinkLangs[ i ];\n\t\t\ttopLinkNode = document.querySelector( '.central-featured-lang[lang=' + topLinkLang + ']' );\n\n\t\t\tif ( topLinkNode ) {\n\t\t\t\ttopLinkNodeIndex = Array.prototype.indexOf.call( topLinks, topLinkNode );\n\t\t\t\tif ( topLinkNodeIndex !== i ) {\n\t\t\t\t\ttopLinksContainer.insertBefore( topLinkNode, topLinks[ i ] );\n\t\t\t\t}\n\t\t\t\t// Apply localization in variant when needed.\n\t\t\t\tif ( preferredLanguages[ 0 ] === 'zh' && topLinkNode.firstElementChild.classList.contains( 'localize-variant' ) ) {\n\t\t\t\t\tlocalizeTopLink( topLinkNode, primaryLang, true );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trepurposedTopLink = findReusableTopLink();\n\t\t\t\tlocalizeTopLink( repurposedTopLink, topLinkLang );\n\t\t\t\ttopLinksContainer.insertBefore( repurposedTopLink, topLinks[ i ] );\n\t\t\t}\n\t\t\t( topLinkNode || repurposedTopLink ).setAttribute( 'dir', rtlLangs.indexOf( topLinkLang ) >= 0 ? 'rtl' : 'ltr' );\n\t\t}\n\t}\n\n\t// Skip if it took too long\n\tif ( wmL10nVisible.ready ) {\n\t\treturn;\n\t}\n\tmergeNewTopLinkLangs();\n\torganizeTopLinks();\n\treorganizeTopLinkClasses();\n\n}( mw, wmTest ) );\n","usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/typeahead-init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/underscore.partial.js","messages":[],"suppressedMessages":[{"ruleId":"no-implicit-globals","severity":2,"message":"Unexpected 'var' declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.","line":31,"column":5,"nodeType":"VariableDeclarator","messageId":"globalNonLexicalBinding","endLine":31,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-use-before-define","severity":2,"message":"'_' was used before it was defined.","line":31,"column":9,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":31,"endColumn":10,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":33,"column":29,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":33,"endColumn":30,"fix":{"range":[1306,1306],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 1 tab but found 2.","line":34,"column":1,"nodeType":"Keyword","messageId":"wrongIndentation","endLine":34,"endColumn":3,"fix":{"range":[1311,1313],"text":"\t"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"unicorn/prefer-date-now","severity":2,"message":"Prefer `Date.now()` over `Date#getTime()`.","line":34,"column":21,"nodeType":"Identifier","messageId":"prefer-date-now-over-methods","endLine":34,"endColumn":28,"fix":{"range":[1320,1340],"text":"Date.now()"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"indent","severity":2,"message":"Expected indentation of 0 tabs but found 1.","line":35,"column":1,"nodeType":"Punctuator","messageId":"wrongIndentation","endLine":35,"endColumn":2,"fix":{"range":[1342,1343],"text":""},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":37,"column":22,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":37,"endColumn":23,"fix":{"range":[1369,1369],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":37,"column":22,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":37,"endColumn":23,"fix":{"range":[1368,1368],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":37,"column":42,"nodeType":"Program","messageId":"missingClosingSpace","endLine":37,"endColumn":43,"fix":{"range":[1388,1388],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":41,"column":5,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":41,"endColumn":6,"fix":{"range":[1465,1465],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":41,"column":14,"nodeType":"Program","messageId":"missingClosingSpace","endLine":41,"endColumn":15,"fix":{"range":[1473,1473],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":41,"column":16,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":41,"endColumn":29,"fix":{"range":[1475,1488],"text":"{options = {};}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":42,"column":22,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":42,"endColumn":23,"fix":{"range":[1510,1510],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":45,"column":22,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":45,"endColumn":23,"fix":{"range":[1609,1609],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":45,"column":36,"nodeType":"Program","messageId":"missingClosingSpace","endLine":45,"endColumn":37,"fix":{"range":[1622,1622],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":46,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":46,"endColumn":7,"fix":{"range":[1631,1631],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":46,"column":15,"nodeType":"Program","messageId":"missingClosingSpace","endLine":46,"endColumn":16,"fix":{"range":[1639,1639],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":46,"column":17,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":46,"endColumn":39,"fix":{"range":[1641,1663],"text":"{context = args = null;}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":48,"column":17,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":48,"endColumn":18,"fix":{"range":[1684,1684],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":50,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":50,"endColumn":7,"fix":{"range":[1716,1716],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":50,"column":45,"nodeType":"Program","messageId":"missingClosingSpace","endLine":50,"endColumn":46,"fix":{"range":[1754,1754],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":50,"column":47,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":50,"endColumn":62,"fix":{"range":[1756,1771],"text":"{previous = now;}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":51,"column":26,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":51,"endColumn":27,"fix":{"range":[1798,1798],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":51,"column":41,"nodeType":"Program","messageId":"missingClosingSpace","endLine":51,"endColumn":42,"fix":{"range":[1812,1812],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":54,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":54,"endColumn":7,"fix":{"range":[1859,1859],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":54,"column":41,"nodeType":"Program","messageId":"missingClosingSpace","endLine":54,"endColumn":42,"fix":{"range":[1893,1893],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":55,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":55,"endColumn":8,"fix":{"range":[1904,1904],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":55,"column":15,"nodeType":"Program","messageId":"missingClosingSpace","endLine":55,"endColumn":16,"fix":{"range":[1911,1911],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":56,"column":17,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":56,"endColumn":18,"fix":{"range":[1932,1932],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":56,"column":25,"nodeType":"Program","messageId":"missingClosingSpace","endLine":56,"endColumn":26,"fix":{"range":[1939,1939],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":60,"column":23,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":60,"endColumn":24,"fix":{"range":[2009,2009],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":60,"column":37,"nodeType":"Program","messageId":"missingClosingSpace","endLine":60,"endColumn":38,"fix":{"range":[2022,2022],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":61,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":61,"endColumn":8,"fix":{"range":[2032,2032],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":61,"column":16,"nodeType":"Program","messageId":"missingClosingSpace","endLine":61,"endColumn":17,"fix":{"range":[2040,2040],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":61,"column":18,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":61,"endColumn":40,"fix":{"range":[2042,2064],"text":"{context = args = null;}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":62,"column":13,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":62,"endColumn":14,"fix":{"range":[2078,2078],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":62,"column":52,"nodeType":"Program","messageId":"missingClosingSpace","endLine":62,"endColumn":53,"fix":{"range":[2116,2116],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":63,"column":24,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":63,"endColumn":25,"fix":{"range":[2144,2144],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":63,"column":41,"nodeType":"Program","messageId":"missingClosingSpace","endLine":63,"endColumn":42,"fix":{"range":[2160,2160],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":69,"column":22,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":69,"endColumn":23,"fix":{"range":[2214,2214],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":69,"column":22,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":69,"endColumn":23,"fix":{"range":[2213,2213],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":69,"column":44,"nodeType":"Program","messageId":"missingClosingSpace","endLine":69,"endColumn":45,"fix":{"range":[2235,2235],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":72,"column":22,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":72,"endColumn":23,"fix":{"range":[2309,2309],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":75,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":75,"endColumn":7,"fix":{"range":[2355,2355],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":75,"column":31,"nodeType":"Program","messageId":"missingClosingSpace","endLine":75,"endColumn":32,"fix":{"range":[2379,2379],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":76,"column":24,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":76,"endColumn":25,"fix":{"range":[2407,2407],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":76,"column":43,"nodeType":"Program","messageId":"missingClosingSpace","endLine":76,"endColumn":44,"fix":{"range":[2425,2425],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":79,"column":7,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":79,"endColumn":8,"fix":{"range":[2465,2465],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":79,"column":18,"nodeType":"Program","messageId":"missingClosingSpace","endLine":79,"endColumn":19,"fix":{"range":[2475,2475],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":80,"column":24,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":80,"endColumn":25,"fix":{"range":[2503,2503],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":80,"column":38,"nodeType":"Program","messageId":"missingClosingSpace","endLine":80,"endColumn":39,"fix":{"range":[2516,2516],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":81,"column":8,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":81,"endColumn":9,"fix":{"range":[2527,2527],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":81,"column":17,"nodeType":"Program","messageId":"missingClosingSpace","endLine":81,"endColumn":18,"fix":{"range":[2535,2535],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":81,"column":19,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":81,"endColumn":41,"fix":{"range":[2537,2559],"text":"{context = args = null;}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-before-function-paren","severity":2,"message":"Missing space before function parentheses.","line":86,"column":17,"nodeType":"FunctionExpression","messageId":"missingSpace","endLine":86,"endColumn":18,"fix":{"range":[2590,2590],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":91,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":91,"endColumn":7,"fix":{"range":[2701,2701],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":91,"column":15,"nodeType":"Program","messageId":"missingClosingSpace","endLine":91,"endColumn":16,"fix":{"range":[2709,2709],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"curly","severity":2,"message":"Expected { after 'if' condition.","line":91,"column":17,"nodeType":"IfStatement","messageId":"missingCurlyAfterCondition","endLine":91,"endColumn":51,"fix":{"range":[2711,2745],"text":"{timeout = setTimeout(later, wait);}"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":91,"column":37,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":91,"endColumn":38,"fix":{"range":[2732,2732],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":91,"column":49,"nodeType":"Program","messageId":"missingClosingSpace","endLine":91,"endColumn":50,"fix":{"range":[2743,2743],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":92,"column":6,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":92,"endColumn":7,"fix":{"range":[2752,2752],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":92,"column":14,"nodeType":"Program","messageId":"missingClosingSpace","endLine":92,"endColumn":15,"fix":{"range":[2759,2759],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space after this paren.","line":93,"column":23,"nodeType":"Program","messageId":"missingOpeningSpace","endLine":93,"endColumn":24,"fix":{"range":[2786,2786],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"space-in-parens","severity":2,"message":"There must be a space before this paren.","line":93,"column":37,"nodeType":"Program","messageId":"missingClosingSpace","endLine":93,"endColumn":38,"fix":{"range":[2799,2799],"text":" "},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/wm-portal.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-unsafe-regex","severity":1,"message":"Unsafe Regular Expression","line":229,"column":39,"nodeType":"Literal","endLine":229,"endColumn":103,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/wm-test.base.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/common/assets/js/wm-typeahead.js","messages":[],"suppressedMessages":[{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":54,"column":13,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":54,"endColumn":27,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[1684,1703],"text":"Object.prototype.hasOwnProperty.call(obj, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"security/detect-non-literal-regexp","severity":1,"message":"Found non-literal argument to RegExp Constructor","line":217,"column":18,"nodeType":"NewExpression","endLine":217,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikibooks.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikibooks.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikibooks.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikimedia.org/controller.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikinews.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikinews.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikinews.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/assets/js/banner.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"wmTest\" type.","line":8,"column":1,"nodeType":"Block","endLine":8,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* global wmTest */\n/**\n * Run fundraising banners.\n *\n * Selects a random element with CSS class banner-container to display\n * in given countries and languages.\n *\n * @param wmTest\n */\n\n( function ( wmTest ) {\n\tvar\n\t\tgeoCookieCountry = document.cookie.match( /GeoIP=.[^:]/ ),\n\t\tcountry = geoCookieCountry && geoCookieCountry.toString().split( '=' )[ 1 ],\n\t\tbannerCountries = [ 'US', 'CA', 'GB', 'IE', 'AU', 'NZ' ],\n\t\tbannerLang = 'en',\n\t\tuserLangs = wmTest.userLangs,\n\t\tcurrentDate = new Date(),\n\t\thideBanner = /(hideWikipediaPortalBanner|centralnotice_hide_fundraising)/.test( document.cookie ),\n\t\tmediumBanner = /(minimizeWikipediaPortalBanner)/.test( document.cookie ),\n\t\tbannerEl = document.querySelector( '.banner' ),\n\t\tbannerCloseEl = bannerEl.querySelector( '.banner__close' ),\n\t\tbannerLinkEl = bannerEl.querySelectorAll( 'a' ),\n\t\tbannerVisibleClass = 'banner--visible',\n\t\tbannerReplacements = [\n\t\t\t{ selector: '.banner__amount1', US: '$2.75', CA: '$2.75', AU: '$2.75', NZ: '$2.75', GB: '£2', IE: '€2.50' },\n\t\t\t{ selector: '.banner__amount2', US: '$25', CA: '$25', AU: '$25', NZ: '$25', GB: '£25', IE: '€25' },\n\t\t\t{ selector: '.banner__average', US: '$13', CA: '$12', AU: '$11', NZ: '$12', GB: '£6', IE: '€8' },\n\t\t\t{\n\t\t\t\tselector: '.banner__country',\n\t\t\t\tUS: 'the United States',\n\t\t\t\tCA: 'Canada',\n\t\t\t\tAU: 'Australia',\n\t\t\t\tNZ: 'New Zealand',\n\t\t\t\tGB: 'the UK',\n\t\t\t\tIE: 'Ireland'\n\t\t\t},\n\t\t\t{\n\t\t\t\tselector: '.banner__currency',\n\t\t\t\tUS: '$',\n\t\t\t\tCA: '$',\n\t\t\t\tAU: '$',\n\t\t\t\tNZ: '$',\n\t\t\t\tGB: '£',\n\t\t\t\tIE: '€'\n\t\t\t}\n\t\t];\n\n\tfor ( let i = 0; i < bannerReplacements.length; i++ ) {\n\t\tvar replacedElements = document.querySelectorAll( bannerReplacements[ i ].selector );\n\t\tfor ( var j = 0; j < replacedElements.length; j++ ) {\n\t\t\tvar element = replacedElements[ j ];\n\t\t\tif ( bannerReplacements[ i ][ country ] ) {\n\t\t\t\telement.innerHTML = bannerReplacements[ i ][ country ];\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( typeof bannerCloseEl !== 'undefined' && bannerCloseEl !== null ) {\n\t\tbannerCloseEl.addEventListener( 'click', function () {\n\t\t\t// 14 day cookie\n\t\t\tdocument.cookie = 'hideWikipediaPortalBanner=1; max-age=1209600; path=/; Secure';\n\t\t\tbannerEl.classList.remove( bannerVisibleClass );\n\t\t} );\n\t}\n\n\t// Fundraise Up test\n\tif ( country === 'US' ) {\n\t\tif ( Math.random() > 0.5 ) {\n\t\t\tbannerLinkEl.forEach( link => {\n\t\t\t\tlink.href = 'https://donate.wikimedia.org/?wmf_medium=portal&wmf_campaign=portalBanner';\n\t\t\t\tlink.href += '&wmf_source=' + bannerEl.id;\n\t\t\t\tlink.href += 'FRU&fundraiseupScript=1&form-template=FRU_FY2425_Portal_US&form=FUNRPZQEHLX';\n\t\t\t\tlink.href += '&uselang=en';\n\t\t\t\tlink.target = '_blank';\n\t\t\t} );\n\t\t} else {\n\t\t\tbannerLinkEl.forEach( link => {\n\t\t\t\tlink.href = 'https://donate.wikimedia.org/?wmf_medium=portal&wmf_campaign=portalBanner';\n\t\t\t\tlink.href += '&wmf_source=' + bannerEl.id;\n\t\t\t\tlink.href += 'WikiForm';\n\t\t\t\tlink.href += '&uselang=en';\n\t\t\t\tlink.target = '_blank';\n\t\t\t} );\n\t\t}\n\t} else {\n\t\tbannerLinkEl.forEach( link => {\n\t\t\tlink.href = 'https://donate.wikimedia.org/?wmf_medium=portal&wmf_campaign=portalBanner';\n\t\t\tlink.href += '&wmf_source=' + bannerEl.id;\n\t\t\tlink.href += '&uselang=en';\n\t\t\tlink.target = '_blank';\n\t\t} );\n\t}\n\n\tif ( !hideBanner &&\n\t\tcountry &&\n\t\tbannerCountries.indexOf( country ) > -1 &&\n\t\tuserLangs[ 0 ] === bannerLang &&\n\t\tcurrentDate.getFullYear() === 2024\n\t) {\n\t\tbannerEl.classList.add( bannerVisibleClass );\n\t}\n\n\t// Overlay banner\n\tvar viewportHeight = window.innerHeight;\n\tvar bannerMini = document.querySelector( '.overlay-banner-mini' );\n\tvar bannerMiniMessage = document.querySelector( '.overlay-banner-mini-message' );\n\tvar miniBannerHeight = bannerMini.offsetHeight;\n\tvar bannerMiniBottom = miniBannerHeight - 10;\n\tvar bannerToggle = document.getElementsByClassName( 'overlay-banner-toggle' );\n\tvar bannerVisible = document.getElementsByTagName( 'body' )[ 0 ];\n\n\tfunction newHeight() {\n\t\tbannerMini.style.height = '';\n\t\tbannerMiniMessage.style.height = '';\n\t\tbannerMiniMessage.style.overflow = '';\n\t\tvar miniBannerNewHeight = bannerMini.offsetHeight;\n\t\tvar bannerMiniNewBottom = miniBannerNewHeight - 10;\n\t\tbannerMini.style.height = miniBannerNewHeight + 'px';\n\t\tif ( bannerVisible.classList.contains( 'overlay-banner-open' ) ) {\n\t\t\tbannerMini.style.bottom = '';\n\t\t\tbannerMini.style.bottom = '-' + bannerMiniNewBottom + 'px';\n\t\t}\n\t\tif ( viewportHeight <= miniBannerNewHeight ) {\n\t\t\tbannerMini.style.height = '';\n\t\t\tbannerMini.style.height = '80vh';\n\t\t\tbannerMiniMessage.style.height = '100%';\n\t\t\tbannerMiniMessage.style.overflow = 'auto';\n\t\t}\n\t}\n\n\tvar overlayBanner = document.querySelector( '.banner-overlay' );\n\tif ( overlayBanner.classList.contains( 'banner--visible' ) ) {\n\t\t// Add height to mini banner\n\t\tbannerMini.style.height = miniBannerHeight + 'px';\n\t\tif ( viewportHeight <= miniBannerHeight ) {\n\t\t\tbannerMini.style.height = '';\n\t\t\tbannerMini.style.height = '80vh';\n\t\t\tbannerMiniMessage.style.height = '100%';\n\t\t\tbannerMiniMessage.style.overflow = 'auto';\n\t\t}\n\n\t\t// Display banner\n\t\tif ( !hideBanner && mediumBanner ) {\n\t\t\tbannerMini.classList.add( 'visible' );\n\t\t\tbannerMini.style.bottom = '-20px';\n\t\t} else {\n\t\t\tdocument.body.classList.add( 'overlay-banner-open' );\n\t\t\tbannerMini.style.bottom = '-' + bannerMiniBottom + 'px';\n\t\t}\n\n\t\t// Toggle mini banner and main banner\n\t\tfor ( let i = 0; i < bannerToggle.length; i++ ) {\n\t\t\tbannerToggle[ i ].addEventListener( 'click', function () {\n\t\t\t\tif ( bannerVisible.classList.contains( 'overlay-banner-open' ) ) {\n\t\t\t\t\tbannerVisible.classList.remove( 'overlay-banner-open' );\n\t\t\t\t\tbannerMini.classList.add( 'visible' );\n\t\t\t\t\tbannerMini.style.bottom = '-20px';\n\t\t\t\t} else {\n\t\t\t\t\tbannerVisible.classList.add( 'overlay-banner-open' );\n\t\t\t\t\tbannerMini.classList.remove( 'visible' );\n\t\t\t\t\tbannerMini.style.bottom = '-' + bannerMiniBottom + 'px';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Update mini banner height on resize\n\t\tvar updateHeights;\n\t\twindow.onresize = function () {\n\t\t\tclearTimeout( updateHeights );\n\t\t\tupdateHeights = setTimeout( function () {\n\t\t\t\tnewHeight();\n\t\t\t}, 100 );\n\t\t};\n\n\t\t// Set medium banner cookie on minimise\n\t\tvar bannerCollapse = document.getElementsByClassName( 'overlay-banner-toggle' );\n\t\tfor ( let i = 0; i < bannerCollapse.length; i++ ) {\n\t\t\tbannerCollapse[ i ].addEventListener( 'click', function () {\n\t\t\t\tdocument.cookie = 'minimizeWikipediaPortalBanner=1; max-age=1209600; path=/; Secure';\n\t\t\t} );\n\t\t}\n\n\t\t// Close banner on X out\n\t\tvar bannerClose = document.getElementsByClassName( 'overlay-banner-close' );\n\t\tvar bannerMain = document.getElementsByClassName( 'overlay-banner' )[ 0 ];\n\t\tfor ( let i = 0; i < bannerClose.length; i++ ) {\n\t\t\tbannerClose[ i ].addEventListener( 'click', function () {\n\t\t\t\tdocument.cookie = 'hideWikipediaPortalBanner=1; max-age=1209600; path=/; Secure';\n\t\t\t\tbannerMain.style.display = 'none';\n\t\t\t} );\n\t\t}\n\n\t\t// Amounts grid\n\t\tvar amountVal;\n\t\tvar amountRadios = document.querySelectorAll( 'input[name=\"amount\"]' );\n\t\tif ( country === 'GB' ) {\n\t\t\tamountRadios[ 0 ].value = '2';\n\t\t}\n\t\tif ( country === 'IE' ) {\n\t\t\tamountRadios[ 0 ].value = '2.50';\n\t\t}\n\t\tamountRadios.forEach( radioA => {\n\t\t\tradioA.addEventListener( 'click', function () {\n\t\t\t\tamountVal = radioA.value;\n\t\t\t\tbannerLinkEl.forEach( link => {\n\t\t\t\t\tif ( link.href.includes( 'FRU' ) ) {\n\t\t\t\t\t\tlink.href += '&amount=' + amountVal;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlink.href += '&preSelect=' + amountVal;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tvar children = document.getElementById( 'amountsGrid' ).childNodes;\n\t\t\t\tfor ( let i = 0; i < children.length; i++ ) {\n\t\t\t\t\tif ( children[ i ].classList ) {\n\t\t\t\t\t\tchildren[ i ].classList.remove( 'selected' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tradioA.parentNode.classList.add( 'selected' );\n\t\t\t\tif ( document.getElementById( 'amountsGrid' ).querySelector( '.selected' ) && document.getElementById( 'frequencyGrid' ).querySelector( '.selected' ) ) {\n\t\t\t\t\tdocument.getElementById( 'frb-donate' ).classList.remove( 'banner-button-disabled' );\n\t\t\t\t\tdocument.getElementById( 'frb-donate' ).classList.add( 'selected' );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// Frequency grid\n\t\tvar monthlyVal;\n\t\tvar monthlyRadios = document.querySelectorAll( 'input[name=\"monthly\"]' );\n\t\tmonthlyRadios.forEach( radioM => {\n\t\t\tradioM.addEventListener( 'click', function () {\n\t\t\t\tmonthlyVal = radioM.value;\n\t\t\t\tbannerLinkEl.forEach( link => {\n\t\t\t\t\tif ( link.href.includes( 'FRU' ) ) {\n\t\t\t\t\t\tif ( monthlyVal === '1' ) {\n\t\t\t\t\t\t\tlink.href += '&recurring=monthly';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlink.href += '&recurring=once';\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlink.href += '&monthly=' + monthlyVal;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tvar children = document.getElementById( 'frequencyGrid' ).childNodes;\n\t\t\t\tfor ( let i = 0; i < children.length; i++ ) {\n\t\t\t\t\tif ( children[ i ].classList ) {\n\t\t\t\t\t\tchildren[ i ].classList.remove( 'selected' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tradioM.parentNode.classList.add( 'selected' );\n\t\t\t\tif ( document.getElementById( 'amountsGrid' ).querySelector( '.selected' ) && document.getElementById( 'frequencyGrid' ).querySelector( '.selected' ) ) {\n\t\t\t\t\tdocument.getElementById( 'frb-donate' ).classList.remove( 'banner-button-disabled' );\n\t\t\t\t\tdocument.getElementById( 'frb-donate' ).classList.add( 'selected' );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// Disable donate button until amount and frequency are selected\n\t\tvar overlayDonateButton = document.getElementById( 'frb-donate' );\n\t\toverlayDonateButton.addEventListener( 'click', function () {\n\t\t\tif ( this.classList.contains( 'banner-button-disabled' ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t} );\n\n\t}\n\n}( wmTest ) );\n","usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/assets/js/event-logging-lite.js","messages":[],"suppressedMessages":[{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":99,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":99,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":102,"column":18,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":102,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>>'.","line":102,"column":18,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":102,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":102,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":102,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":102,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":102,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":134,"column":29,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":134,"endColumn":43,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[3945,3978],"text":"Object.prototype.hasOwnProperty.call(schema.properties, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":142,"column":15,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":142,"endColumn":29,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[4138,4157],"text":"Object.prototype.hasOwnProperty.call(obj, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'client_dt' is not in camel case.","line":184,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":184,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/assets/js/wikipedia-org-event-logging.js","messages":[],"suppressedMessages":[{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before 'nodes'.","line":86,"column":27,"nodeType":"Identifier","messageId":"multipleSpaces","endLine":86,"endColumn":30,"fix":{"range":[1825,1828],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before 'nodes'.","line":87,"column":20,"nodeType":"Identifier","messageId":"multipleSpaces","endLine":87,"endColumn":30,"fix":{"range":[1922,1932],"text":" "},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-multi-spaces","severity":2,"message":"Multiple spaces found before 'nodes'.","line":91,"column":28,"nodeType":"Identifier","messageId":"multipleSpaces","endLine":91,"endColumn":30,"fix":{"range":[2345,2347],"text":" "},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/assets/js/wm-test.extra.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":124,"column":3,"nodeType":"CallExpression","endLine":124,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikipedia.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiquote.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiquote.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiquote.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiversity.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiversity.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikiversity.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikivoyage.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikivoyage.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wikivoyage.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wiktionary.org/controller.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":122,"column":3,"nodeType":"CallExpression","endLine":122,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wiktionary.org/other-projects.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/src/wiktionary.org/rtl-languages.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]

--- end ---
Source code is licensed under the AGPL.