diff options
| -rw-r--r-- | .eslintrc.json | 88 | ||||
| -rw-r--r-- | ext/display-templates.html | 2 | ||||
| -rw-r--r-- | package-lock.json | 770 | ||||
| -rw-r--r-- | package.json | 11 | 
4 files changed, 549 insertions, 322 deletions
| diff --git a/.eslintrc.json b/.eslintrc.json index ec1e0375..26355f22 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,6 +1,9 @@  {      "root": true, -    "extends": "eslint:recommended", +    "extends": [ +        "eslint:recommended", +        "plugin:jsonc/recommended-with-json" +    ],      "parserOptions": {          "ecmaVersion": 8,          "sourceType": "script", @@ -17,7 +20,8 @@      "plugins": [          "no-unsanitized",          "header", -        "jsdoc" +        "jsdoc", +        "jsonc"      ],      "ignorePatterns": [          "/ext/lib/" @@ -61,7 +65,7 @@          "array-bracket-spacing": ["error", "never"],          "arrow-spacing": ["error", {"before": true, "after": true}],          "block-spacing": ["error", "always"], -        "comma-spacing": ["error", { "before": false, "after": true }], +        "comma-spacing": ["error", {"before": false, "after": true}],          "computed-property-spacing": ["error", "never"],          "func-call-spacing": ["error", "never"],          "function-paren-newline": ["error", "multiline-arguments"], @@ -123,28 +127,70 @@          "jsdoc/tag-lines": "error",          "jsdoc/valid-types": "error", -        "header/header": ["error", "block", [ -            "", -            {"pattern": " \\* Copyright \\(C\\) (\\d+-)?2022  Yomichan Authors"}, -            " *", -            " * This program is free software: you can redistribute it and/or modify", -            " * it under the terms of the GNU General Public License as published by", -            " * the Free Software Foundation, either version 3 of the License, or", -            " * (at your option) any later version.", -            " *", -            " * This program is distributed in the hope that it will be useful,", -            " * but WITHOUT ANY WARRANTY; without even the implied warranty of", -            " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the", -            " * GNU General Public License for more details.", -            " *", -            " * You should have received a copy of the GNU General Public License", -            " * along with this program.  If not, see <https://www.gnu.org/licenses/>.", -            " " -        ]] +        "jsonc/indent": ["error", 4], +        "jsonc/array-bracket-newline": ["error", "consistent"], +        "jsonc/array-bracket-spacing": ["error", "never"], +        "jsonc/array-element-newline": ["error", "consistent"], +        "jsonc/comma-style": ["error", "last"], +        "jsonc/key-spacing": ["error", {"beforeColon": false, "afterColon": true, "mode": "strict"}], +        "jsonc/no-octal-escape": "error", +        "jsonc/object-curly-newline": ["error", {"consistent": true}], +        "jsonc/object-curly-spacing": ["error", "never"], +        "jsonc/object-property-newline": ["error", {"allowAllPropertiesOnSameLine": true}]      },      "overrides": [          {              "files": [ +                "*.json" +            ], +            "parser": "jsonc-eslint-parser" +        }, +        { +            "files": [ +                "test/data/anki-note-builder-test-results.json", +                "test/data/translator-test-results-note-data1.json", +                "test/data/translator-test-results.json" +            ], +            "rules": { +                "jsonc/indent": ["error", 2] +            } +        }, +        { +            "files": [ +                "test/data/dictionaries/valid-dictionary1/term_bank_1.json" +            ], +            "rules": { +                "jsonc/array-element-newline": ["off"], +                "jsonc/object-property-newline": ["off"] +            } +        }, +        { +            "files": [ +                "*.js" +            ], +            "rules": { +                "header/header": ["error", "block", [ +                    "", +                    {"pattern": " \\* Copyright \\(C\\) (\\d+-)?2022  Yomichan Authors"}, +                    " *", +                    " * This program is free software: you can redistribute it and/or modify", +                    " * it under the terms of the GNU General Public License as published by", +                    " * the Free Software Foundation, either version 3 of the License, or", +                    " * (at your option) any later version.", +                    " *", +                    " * This program is distributed in the hope that it will be useful,", +                    " * but WITHOUT ANY WARRANTY; without even the implied warranty of", +                    " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the", +                    " * GNU General Public License for more details.", +                    " *", +                    " * You should have received a copy of the GNU General Public License", +                    " * along with this program.  If not, see <https://www.gnu.org/licenses/>.", +                    " " +                ]] +            } +        }, +        { +            "files": [                  "ext/js/core.js",                  "ext/js/**/sandbox/**/*.js"              ], diff --git a/ext/display-templates.html b/ext/display-templates.html index 8d147253..979415c7 100644 --- a/ext/display-templates.html +++ b/ext/display-templates.html @@ -157,7 +157,9 @@  <template id="kanji-info-table-item-template"><tr class="kanji-info-table-item"><th class="kanji-info-table-item-header"></th><td class="kanji-info-table-item-value"></td></tr></template>  <template id="kanji-info-table-empty-template"><tr class="kanji-info-table-item kanji-info-table-item-empty"><td class="kanji-info-table-item-value-empty">No data found</td></tr></template>  <template id="kanji-gloss-item-template"><li class="kanji-gloss-item"><span class="kanji-gloss-content"></span></li></template> +<!-- [html-validate-disable element-required-ancestor] -->  <template id="kanji-reading-template"><dd class="kanji-reading"></dd></template> +<!-- [html-validate-enable element-required-ancestor] -->  <!-- Tag templates -->  <template id="tag-template"><span class="tag"><span class="tag-label"><span class="tag-label-content"></span></span></span></template> diff --git a/package-lock.json b/package-lock.json index b7b5cda1..ab9f8b95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,16 +13,17 @@                  "ajv": "^8.11.0",                  "browserify": "^17.0.0",                  "css": "^3.0.0", -                "eslint": "^8.15.0", +                "eslint": "^8.25.0",                  "eslint-plugin-header": "^3.1.1", -                "eslint-plugin-jsdoc": "^39.2.9", +                "eslint-plugin-jsdoc": "^39.3.6", +                "eslint-plugin-jsonc": "^2.4.0",                  "eslint-plugin-no-unsanitized": "^4.0.1",                  "fake-indexeddb": "^3.1.7", -                "html-validate": "^7.1.0", +                "html-validate": "^7.6.0",                  "jsdom": "^19.0.0",                  "parse5": "^7.0.0", -                "stylelint": "^14.8.2", -                "stylelint-config-recommended": "^7.0.0", +                "stylelint": "^14.14.0", +                "stylelint-config-recommended": "^9.0.0",                  "web-ext": "^6.8.0"              }          }, @@ -141,6 +142,23 @@                  "regenerator-runtime": "^0.13.4"              }          }, +        "node_modules/@csstools/selector-specificity": { +            "version": "2.0.2", +            "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", +            "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", +            "dev": true, +            "engines": { +                "node": "^12 || ^14 || >=16" +            }, +            "funding": { +                "type": "opencollective", +                "url": "https://opencollective.com/csstools" +            }, +            "peerDependencies": { +                "postcss": "^8.2", +                "postcss-selector-parser": "^6.0.10" +            } +        },          "node_modules/@devicefarmer/adbkit": {              "version": "2.11.3",              "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-2.11.3.tgz", @@ -199,29 +217,29 @@              "dev": true          },          "node_modules/@es-joy/jsdoccomment": { -            "version": "0.29.0", -            "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.29.0.tgz", -            "integrity": "sha512-4yKy5t+/joLihG+ei6CCU6sc08sjUdEdXCQ2U+9h9VP13EiqHQ4YMgDC18ys/AsLdJDBX3KRx/AWY6PR7hn52Q==", +            "version": "0.31.0", +            "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", +            "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==",              "dev": true,              "dependencies": {                  "comment-parser": "1.3.1",                  "esquery": "^1.4.0", -                "jsdoc-type-pratt-parser": "~3.0.1" +                "jsdoc-type-pratt-parser": "~3.1.0"              },              "engines": {                  "node": "^14 || ^16 || ^17 || ^18"              }          },          "node_modules/@eslint/eslintrc": { -            "version": "1.2.3", -            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", -            "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", +            "version": "1.3.3", +            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", +            "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",              "dev": true,              "dependencies": {                  "ajv": "^6.12.4",                  "debug": "^4.3.2", -                "espree": "^9.3.2", -                "globals": "^13.9.0", +                "espree": "^9.4.0", +                "globals": "^13.15.0",                  "ignore": "^5.2.0",                  "import-fresh": "^3.2.1",                  "js-yaml": "^4.1.0", @@ -230,6 +248,9 @@              },              "engines": {                  "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +            }, +            "funding": { +                "url": "https://opencollective.com/eslint"              }          },          "node_modules/@eslint/eslintrc/node_modules/ajv": { @@ -249,17 +270,20 @@              }          },          "node_modules/@eslint/eslintrc/node_modules/espree": { -            "version": "9.3.2", -            "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", -            "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", +            "version": "9.4.0", +            "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", +            "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",              "dev": true,              "dependencies": { -                "acorn": "^8.7.1", +                "acorn": "^8.8.0",                  "acorn-jsx": "^5.3.2",                  "eslint-visitor-keys": "^3.3.0"              },              "engines": {                  "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +            }, +            "funding": { +                "url": "https://opencollective.com/eslint"              }          },          "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { @@ -269,16 +293,15 @@              "dev": true          },          "node_modules/@html-validate/stylish": { -            "version": "2.0.1", -            "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-2.0.1.tgz", -            "integrity": "sha512-iRLjgQnNq66rcsTukun6KwMhPEoUV2R3atPbTSapnEvD1aETjD+pfS+1yYrmaPeJFgXHzfsSYjAuyUVq7EID/Q==", +            "version": "3.0.1", +            "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", +            "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==",              "dev": true,              "dependencies": { -                "kleur": "^4.0.0", -                "text-table": "^0.2.0" +                "kleur": "^4.0.0"              },              "engines": { -                "node": ">= 12.0" +                "node": ">= 14.0"              }          },          "node_modules/@humanwhocodes/config-array": { @@ -295,6 +318,19 @@                  "node": ">=10.10.0"              }          }, +        "node_modules/@humanwhocodes/module-importer": { +            "version": "1.0.1", +            "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", +            "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", +            "dev": true, +            "engines": { +                "node": ">=12.22" +            }, +            "funding": { +                "type": "github", +                "url": "https://github.com/sponsors/nzakas" +            } +        },          "node_modules/@humanwhocodes/object-schema": {              "version": "1.2.1",              "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -481,9 +517,9 @@              }          },          "node_modules/acorn": { -            "version": "8.7.1", -            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", -            "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", +            "version": "8.8.0", +            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", +            "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",              "dev": true,              "bin": {                  "acorn": "bin/acorn" @@ -1728,18 +1764,6 @@                  "node": ">=0.8"              }          }, -        "node_modules/clone-regexp": { -            "version": "2.2.0", -            "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", -            "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", -            "dev": true, -            "dependencies": { -                "is-regexp": "^2.0.0" -            }, -            "engines": { -                "node": ">=6" -            } -        },          "node_modules/clone-response": {              "version": "1.0.2",              "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", @@ -1768,9 +1792,9 @@              "dev": true          },          "node_modules/colord": { -            "version": "2.9.2", -            "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", -            "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", +            "version": "2.9.3", +            "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", +            "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",              "dev": true          },          "node_modules/columnify": { @@ -2099,9 +2123,9 @@              }          },          "node_modules/css-functions-list": { -            "version": "3.0.1", -            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", -            "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", +            "version": "3.1.0", +            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", +            "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",              "dev": true,              "engines": {                  "node": ">=12.22" @@ -3109,13 +3133,14 @@              }          },          "node_modules/eslint": { -            "version": "8.15.0", -            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", -            "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", +            "version": "8.25.0", +            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", +            "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",              "dev": true,              "dependencies": { -                "@eslint/eslintrc": "^1.2.3", -                "@humanwhocodes/config-array": "^0.9.2", +                "@eslint/eslintrc": "^1.3.3", +                "@humanwhocodes/config-array": "^0.10.5", +                "@humanwhocodes/module-importer": "^1.0.1",                  "ajv": "^6.10.0",                  "chalk": "^4.0.0",                  "cross-spawn": "^7.0.2", @@ -3125,18 +3150,21 @@                  "eslint-scope": "^7.1.1",                  "eslint-utils": "^3.0.0",                  "eslint-visitor-keys": "^3.3.0", -                "espree": "^9.3.2", +                "espree": "^9.4.0",                  "esquery": "^1.4.0",                  "esutils": "^2.0.2",                  "fast-deep-equal": "^3.1.3",                  "file-entry-cache": "^6.0.1", -                "functional-red-black-tree": "^1.0.1", +                "find-up": "^5.0.0",                  "glob-parent": "^6.0.1", -                "globals": "^13.6.0", +                "globals": "^13.15.0", +                "globby": "^11.1.0", +                "grapheme-splitter": "^1.0.4",                  "ignore": "^5.2.0",                  "import-fresh": "^3.0.0",                  "imurmurhash": "^0.1.4",                  "is-glob": "^4.0.0", +                "js-sdsl": "^4.1.4",                  "js-yaml": "^4.1.0",                  "json-stable-stringify-without-jsonify": "^1.0.1",                  "levn": "^0.4.1", @@ -3147,8 +3175,7 @@                  "regexpp": "^3.2.0",                  "strip-ansi": "^6.0.1",                  "strip-json-comments": "^3.1.0", -                "text-table": "^0.2.0", -                "v8-compile-cache": "^2.0.3" +                "text-table": "^0.2.0"              },              "bin": {                  "eslint": "bin/eslint.js" @@ -3170,12 +3197,12 @@              }          },          "node_modules/eslint-plugin-jsdoc": { -            "version": "39.2.9", -            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", -            "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", +            "version": "39.3.6", +            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", +            "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==",              "dev": true,              "dependencies": { -                "@es-joy/jsdoccomment": "~0.29.0", +                "@es-joy/jsdoccomment": "~0.31.0",                  "comment-parser": "1.3.1",                  "debug": "^4.3.4",                  "escape-string-regexp": "^4.0.0", @@ -3205,6 +3232,26 @@                  "node": ">=10"              }          }, +        "node_modules/eslint-plugin-jsonc": { +            "version": "2.4.0", +            "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.4.0.tgz", +            "integrity": "sha512-YXy5PjyUL9gFYal6pYijd8P6EmpeWskv7PVhB9Py/AwKPn+hwnQHcIzQILiLfxztfhtWiRIUSzoLe/JThZgSUw==", +            "dev": true, +            "dependencies": { +                "eslint-utils": "^3.0.0", +                "jsonc-eslint-parser": "^2.0.4", +                "natural-compare": "^1.4.0" +            }, +            "engines": { +                "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +            }, +            "funding": { +                "url": "https://github.com/sponsors/ota-meshi" +            }, +            "peerDependencies": { +                "eslint": ">=6.0.0" +            } +        },          "node_modules/eslint-plugin-no-unsanitized": {              "version": "4.0.1",              "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.1.tgz", @@ -3263,6 +3310,20 @@                  "node": "^12.22.0 || ^14.17.0 || >=16.0.0"              }          }, +        "node_modules/eslint/node_modules/@humanwhocodes/config-array": { +            "version": "0.10.7", +            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", +            "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", +            "dev": true, +            "dependencies": { +                "@humanwhocodes/object-schema": "^1.2.1", +                "debug": "^4.1.1", +                "minimatch": "^3.0.4" +            }, +            "engines": { +                "node": ">=10.10.0" +            } +        },          "node_modules/eslint/node_modules/ajv": {              "version": "6.12.6",              "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3280,17 +3341,36 @@              }          },          "node_modules/eslint/node_modules/espree": { -            "version": "9.3.2", -            "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", -            "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", +            "version": "9.4.0", +            "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", +            "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",              "dev": true,              "dependencies": { -                "acorn": "^8.7.1", +                "acorn": "^8.8.0",                  "acorn-jsx": "^5.3.2",                  "eslint-visitor-keys": "^3.3.0"              },              "engines": {                  "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +            }, +            "funding": { +                "url": "https://opencollective.com/eslint" +            } +        }, +        "node_modules/eslint/node_modules/find-up": { +            "version": "5.0.0", +            "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", +            "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", +            "dev": true, +            "dependencies": { +                "locate-path": "^6.0.0", +                "path-exists": "^4.0.0" +            }, +            "engines": { +                "node": ">=10" +            }, +            "funding": { +                "url": "https://github.com/sponsors/sindresorhus"              }          },          "node_modules/eslint/node_modules/json-schema-traverse": { @@ -3299,6 +3379,51 @@              "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",              "dev": true          }, +        "node_modules/eslint/node_modules/locate-path": { +            "version": "6.0.0", +            "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", +            "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", +            "dev": true, +            "dependencies": { +                "p-locate": "^5.0.0" +            }, +            "engines": { +                "node": ">=10" +            }, +            "funding": { +                "url": "https://github.com/sponsors/sindresorhus" +            } +        }, +        "node_modules/eslint/node_modules/p-limit": { +            "version": "3.1.0", +            "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", +            "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", +            "dev": true, +            "dependencies": { +                "yocto-queue": "^0.1.0" +            }, +            "engines": { +                "node": ">=10" +            }, +            "funding": { +                "url": "https://github.com/sponsors/sindresorhus" +            } +        }, +        "node_modules/eslint/node_modules/p-locate": { +            "version": "5.0.0", +            "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", +            "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", +            "dev": true, +            "dependencies": { +                "p-limit": "^3.0.2" +            }, +            "engines": { +                "node": ">=10" +            }, +            "funding": { +                "url": "https://github.com/sponsors/sindresorhus" +            } +        },          "node_modules/espree": {              "version": "9.3.1",              "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -3447,18 +3572,6 @@                  "url": "https://github.com/sponsors/sindresorhus"              }          }, -        "node_modules/execall": { -            "version": "2.0.0", -            "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", -            "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", -            "dev": true, -            "dependencies": { -                "clone-regexp": "^2.1.0" -            }, -            "engines": { -                "node": ">=8" -            } -        },          "node_modules/express": {              "version": "4.17.2",              "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", @@ -3576,9 +3689,9 @@              "dev": true          },          "node_modules/fast-glob": { -            "version": "3.2.11", -            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", -            "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", +            "version": "3.2.12", +            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", +            "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",              "dev": true,              "dependencies": {                  "@nodelib/fs.stat": "^2.0.2", @@ -3649,10 +3762,13 @@              "dev": true          },          "node_modules/fastest-levenshtein": { -            "version": "1.0.12", -            "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", -            "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", -            "dev": true +            "version": "1.0.16", +            "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", +            "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", +            "dev": true, +            "engines": { +                "node": ">= 4.9.1" +            }          },          "node_modules/fastq": {              "version": "1.13.0", @@ -4052,18 +4168,6 @@                  "url": "https://github.com/sponsors/ljharb"              }          }, -        "node_modules/get-stdin": { -            "version": "8.0.0", -            "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", -            "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", -            "dev": true, -            "engines": { -                "node": ">=10" -            }, -            "funding": { -                "url": "https://github.com/sponsors/sindresorhus" -            } -        },          "node_modules/get-stream": {              "version": "4.1.0",              "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -4202,9 +4306,9 @@              }          },          "node_modules/globals": { -            "version": "13.13.0", -            "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", -            "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", +            "version": "13.17.0", +            "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", +            "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",              "dev": true,              "dependencies": {                  "type-fest": "^0.20.2" @@ -4303,6 +4407,12 @@              "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",              "dev": true          }, +        "node_modules/grapheme-splitter": { +            "version": "1.0.4", +            "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", +            "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", +            "dev": true +        },          "node_modules/growly": {              "version": "1.3.0",              "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -4538,13 +4648,13 @@              }          },          "node_modules/html-validate": { -            "version": "7.1.0", -            "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.1.0.tgz", -            "integrity": "sha512-sp/dyAk57tXfqpMP87jbnrX8UiyXvclVyQE7GK0RJBX5caPI5rJ4RaE3L9R4isT0rdeORXXLVdyxkH4KnKLprQ==", +            "version": "7.6.0", +            "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.6.0.tgz", +            "integrity": "sha512-6Ib433N0/ou2/0oLjfUmFjaAVFW8KKU/fOBBhrZXNuPcYCUsZExAD3xOqKl1bp5ANHb4PItXEK9vcKL/L7Da0Q==",              "dev": true,              "dependencies": {                  "@babel/code-frame": "^7.10.0", -                "@html-validate/stylish": "^2.0.0", +                "@html-validate/stylish": "^3.0.0",                  "@sidvind/better-ajv-errors": "^2.0.0",                  "acorn-walk": "^8.0.0",                  "ajv": "^8.0.0", @@ -4564,9 +4674,9 @@                  "node": ">= 14.0"              },              "peerDependencies": { -                "jest": "^25.1 || ^26 || ^27.1 || ^28", -                "jest-diff": "^25.1 || ^26 || ^27.1 || ^28", -                "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28" +                "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", +                "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", +                "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3"              },              "peerDependenciesMeta": {                  "jest": { @@ -5261,15 +5371,6 @@                  "url": "https://github.com/sponsors/ljharb"              }          }, -        "node_modules/is-regexp": { -            "version": "2.1.0", -            "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", -            "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", -            "dev": true, -            "engines": { -                "node": ">=6" -            } -        },          "node_modules/is-relative": {              "version": "0.1.3",              "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", @@ -5440,6 +5541,12 @@              "integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=",              "dev": true          }, +        "node_modules/js-sdsl": { +            "version": "4.1.5", +            "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", +            "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", +            "dev": true +        },          "node_modules/js-tokens": {              "version": "4.0.0",              "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5465,9 +5572,9 @@              "dev": true          },          "node_modules/jsdoc-type-pratt-parser": { -            "version": "3.0.1", -            "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.0.1.tgz", -            "integrity": "sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==", +            "version": "3.1.0", +            "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", +            "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==",              "dev": true,              "engines": {                  "node": ">=12.0.0" @@ -5570,6 +5677,24 @@              "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",              "dev": true          }, +        "node_modules/jsonc-eslint-parser": { +            "version": "2.1.0", +            "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.1.0.tgz", +            "integrity": "sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==", +            "dev": true, +            "dependencies": { +                "acorn": "^8.5.0", +                "eslint-visitor-keys": "^3.0.0", +                "espree": "^9.0.0", +                "semver": "^7.3.5" +            }, +            "engines": { +                "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +            }, +            "funding": { +                "url": "https://github.com/sponsors/ota-meshi" +            } +        },          "node_modules/jsonfile": {              "version": "6.1.0",              "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -5714,9 +5839,9 @@              }          },          "node_modules/kleur": { -            "version": "4.1.4", -            "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", -            "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", +            "version": "4.1.5", +            "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", +            "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",              "dev": true,              "engines": {                  "node": ">=6" @@ -6487,12 +6612,6 @@                  "node": ">=0.10.0"              }          }, -        "node_modules/normalize-selector": { -            "version": "0.2.0", -            "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", -            "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", -            "dev": true -        },          "node_modules/normalize-url": {              "version": "2.0.1",              "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", @@ -8620,15 +8739,6 @@              "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",              "dev": true          }, -        "node_modules/specificity": { -            "version": "0.4.1", -            "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", -            "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", -            "dev": true, -            "bin": { -                "specificity": "bin/specificity" -            } -        },          "node_modules/split": {              "version": "0.3.3",              "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -8962,21 +9072,20 @@              "dev": true          },          "node_modules/stylelint": { -            "version": "14.8.2", -            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz", -            "integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==", +            "version": "14.14.0", +            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz", +            "integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==",              "dev": true,              "dependencies": { +                "@csstools/selector-specificity": "^2.0.2",                  "balanced-match": "^2.0.0", -                "colord": "^2.9.2", +                "colord": "^2.9.3",                  "cosmiconfig": "^7.0.1", -                "css-functions-list": "^3.0.1", +                "css-functions-list": "^3.1.0",                  "debug": "^4.3.4", -                "execall": "^2.0.0", -                "fast-glob": "^3.2.11", -                "fastest-levenshtein": "^1.0.12", +                "fast-glob": "^3.2.12", +                "fastest-levenshtein": "^1.0.16",                  "file-entry-cache": "^6.0.1", -                "get-stdin": "^8.0.0",                  "global-modules": "^2.0.0",                  "globby": "^11.1.0",                  "globjoin": "^0.1.4", @@ -8990,24 +9099,22 @@                  "meow": "^9.0.0",                  "micromatch": "^4.0.5",                  "normalize-path": "^3.0.0", -                "normalize-selector": "^0.2.0",                  "picocolors": "^1.0.0", -                "postcss": "^8.4.13", +                "postcss": "^8.4.17",                  "postcss-media-query-parser": "^0.2.3",                  "postcss-resolve-nested-selector": "^0.1.1",                  "postcss-safe-parser": "^6.0.0",                  "postcss-selector-parser": "^6.0.10",                  "postcss-value-parser": "^4.2.0",                  "resolve-from": "^5.0.0", -                "specificity": "^0.4.1",                  "string-width": "^4.2.3",                  "strip-ansi": "^6.0.1",                  "style-search": "^0.1.0", -                "supports-hyperlinks": "^2.2.0", +                "supports-hyperlinks": "^2.3.0",                  "svg-tags": "^1.0.0",                  "table": "^6.8.0",                  "v8-compile-cache": "^2.3.0", -                "write-file-atomic": "^4.0.1" +                "write-file-atomic": "^4.0.2"              },              "bin": {                  "stylelint": "bin/stylelint.js" @@ -9021,12 +9128,12 @@              }          },          "node_modules/stylelint-config-recommended": { -            "version": "7.0.0", -            "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", -            "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", +            "version": "9.0.0", +            "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz", +            "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",              "dev": true,              "peerDependencies": { -                "stylelint": "^14.4.0" +                "stylelint": "^14.10.0"              }          },          "node_modules/stylelint/node_modules/balanced-match": { @@ -9036,9 +9143,9 @@              "dev": true          },          "node_modules/stylelint/node_modules/postcss": { -            "version": "8.4.13", -            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", -            "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", +            "version": "8.4.18", +            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", +            "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",              "dev": true,              "funding": [                  { @@ -9051,7 +9158,7 @@                  }              ],              "dependencies": { -                "nanoid": "^3.3.3", +                "nanoid": "^3.3.4",                  "picocolors": "^1.0.0",                  "source-map-js": "^1.0.2"              }, @@ -9090,9 +9197,9 @@              }          },          "node_modules/supports-hyperlinks": { -            "version": "2.2.0", -            "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", -            "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", +            "version": "2.3.0", +            "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", +            "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",              "dev": true,              "dependencies": {                  "has-flag": "^4.0.0", @@ -10110,16 +10217,16 @@              "dev": true          },          "node_modules/write-file-atomic": { -            "version": "4.0.1", -            "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", -            "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", +            "version": "4.0.2", +            "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", +            "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",              "dev": true,              "dependencies": {                  "imurmurhash": "^0.1.4",                  "signal-exit": "^3.0.7"              },              "engines": { -                "node": "^12.13.0 || ^14.15.0 || >=16" +                "node": "^12.13.0 || ^14.15.0 || >=16.0.0"              }          },          "node_modules/ws": { @@ -10259,6 +10366,18 @@                  "fd-slicer": "~1.1.0"              }          }, +        "node_modules/yocto-queue": { +            "version": "0.1.0", +            "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", +            "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", +            "dev": true, +            "engines": { +                "node": ">=10" +            }, +            "funding": { +                "url": "https://github.com/sponsors/sindresorhus" +            } +        },          "node_modules/zip-dir": {              "version": "2.0.0",              "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-2.0.0.tgz", @@ -10370,6 +10489,13 @@                  "regenerator-runtime": "^0.13.4"              }          }, +        "@csstools/selector-specificity": { +            "version": "2.0.2", +            "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", +            "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", +            "dev": true, +            "requires": {} +        },          "@devicefarmer/adbkit": {              "version": "2.11.3",              "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-2.11.3.tgz", @@ -10418,26 +10544,26 @@              }          },          "@es-joy/jsdoccomment": { -            "version": "0.29.0", -            "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.29.0.tgz", -            "integrity": "sha512-4yKy5t+/joLihG+ei6CCU6sc08sjUdEdXCQ2U+9h9VP13EiqHQ4YMgDC18ys/AsLdJDBX3KRx/AWY6PR7hn52Q==", +            "version": "0.31.0", +            "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", +            "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==",              "dev": true,              "requires": {                  "comment-parser": "1.3.1",                  "esquery": "^1.4.0", -                "jsdoc-type-pratt-parser": "~3.0.1" +                "jsdoc-type-pratt-parser": "~3.1.0"              }          },          "@eslint/eslintrc": { -            "version": "1.2.3", -            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", -            "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", +            "version": "1.3.3", +            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", +            "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",              "dev": true,              "requires": {                  "ajv": "^6.12.4",                  "debug": "^4.3.2", -                "espree": "^9.3.2", -                "globals": "^13.9.0", +                "espree": "^9.4.0", +                "globals": "^13.15.0",                  "ignore": "^5.2.0",                  "import-fresh": "^3.2.1",                  "js-yaml": "^4.1.0", @@ -10458,12 +10584,12 @@                      }                  },                  "espree": { -                    "version": "9.3.2", -                    "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", -                    "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", +                    "version": "9.4.0", +                    "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", +                    "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",                      "dev": true,                      "requires": { -                        "acorn": "^8.7.1", +                        "acorn": "^8.8.0",                          "acorn-jsx": "^5.3.2",                          "eslint-visitor-keys": "^3.3.0"                      } @@ -10477,13 +10603,12 @@              }          },          "@html-validate/stylish": { -            "version": "2.0.1", -            "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-2.0.1.tgz", -            "integrity": "sha512-iRLjgQnNq66rcsTukun6KwMhPEoUV2R3atPbTSapnEvD1aETjD+pfS+1yYrmaPeJFgXHzfsSYjAuyUVq7EID/Q==", +            "version": "3.0.1", +            "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", +            "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==",              "dev": true,              "requires": { -                "kleur": "^4.0.0", -                "text-table": "^0.2.0" +                "kleur": "^4.0.0"              }          },          "@humanwhocodes/config-array": { @@ -10497,6 +10622,12 @@                  "minimatch": "^3.0.4"              }          }, +        "@humanwhocodes/module-importer": { +            "version": "1.0.1", +            "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", +            "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", +            "dev": true +        },          "@humanwhocodes/object-schema": {              "version": "1.2.1",              "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -10656,9 +10787,9 @@              }          },          "acorn": { -            "version": "8.7.1", -            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", -            "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", +            "version": "8.8.0", +            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", +            "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",              "dev": true          },          "acorn-globals": { @@ -11687,15 +11818,6 @@              "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",              "dev": true          }, -        "clone-regexp": { -            "version": "2.2.0", -            "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", -            "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", -            "dev": true, -            "requires": { -                "is-regexp": "^2.0.0" -            } -        },          "clone-response": {              "version": "1.0.2",              "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", @@ -11721,9 +11843,9 @@              "dev": true          },          "colord": { -            "version": "2.9.2", -            "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", -            "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", +            "version": "2.9.3", +            "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", +            "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",              "dev": true          },          "columnify": { @@ -12011,9 +12133,9 @@              }          },          "css-functions-list": { -            "version": "3.0.1", -            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz", -            "integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==", +            "version": "3.1.0", +            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", +            "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",              "dev": true          },          "css-select": { @@ -12816,13 +12938,14 @@              }          },          "eslint": { -            "version": "8.15.0", -            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", -            "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", +            "version": "8.25.0", +            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", +            "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",              "dev": true,              "requires": { -                "@eslint/eslintrc": "^1.2.3", -                "@humanwhocodes/config-array": "^0.9.2", +                "@eslint/eslintrc": "^1.3.3", +                "@humanwhocodes/config-array": "^0.10.5", +                "@humanwhocodes/module-importer": "^1.0.1",                  "ajv": "^6.10.0",                  "chalk": "^4.0.0",                  "cross-spawn": "^7.0.2", @@ -12832,18 +12955,21 @@                  "eslint-scope": "^7.1.1",                  "eslint-utils": "^3.0.0",                  "eslint-visitor-keys": "^3.3.0", -                "espree": "^9.3.2", +                "espree": "^9.4.0",                  "esquery": "^1.4.0",                  "esutils": "^2.0.2",                  "fast-deep-equal": "^3.1.3",                  "file-entry-cache": "^6.0.1", -                "functional-red-black-tree": "^1.0.1", +                "find-up": "^5.0.0",                  "glob-parent": "^6.0.1", -                "globals": "^13.6.0", +                "globals": "^13.15.0", +                "globby": "^11.1.0", +                "grapheme-splitter": "^1.0.4",                  "ignore": "^5.2.0",                  "import-fresh": "^3.0.0",                  "imurmurhash": "^0.1.4",                  "is-glob": "^4.0.0", +                "js-sdsl": "^4.1.4",                  "js-yaml": "^4.1.0",                  "json-stable-stringify-without-jsonify": "^1.0.1",                  "levn": "^0.4.1", @@ -12854,10 +12980,20 @@                  "regexpp": "^3.2.0",                  "strip-ansi": "^6.0.1",                  "strip-json-comments": "^3.1.0", -                "text-table": "^0.2.0", -                "v8-compile-cache": "^2.0.3" +                "text-table": "^0.2.0"              },              "dependencies": { +                "@humanwhocodes/config-array": { +                    "version": "0.10.7", +                    "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", +                    "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", +                    "dev": true, +                    "requires": { +                        "@humanwhocodes/object-schema": "^1.2.1", +                        "debug": "^4.1.1", +                        "minimatch": "^3.0.4" +                    } +                },                  "ajv": {                      "version": "6.12.6",                      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -12871,21 +13007,58 @@                      }                  },                  "espree": { -                    "version": "9.3.2", -                    "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", -                    "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", +                    "version": "9.4.0", +                    "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", +                    "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",                      "dev": true,                      "requires": { -                        "acorn": "^8.7.1", +                        "acorn": "^8.8.0",                          "acorn-jsx": "^5.3.2",                          "eslint-visitor-keys": "^3.3.0"                      }                  }, +                "find-up": { +                    "version": "5.0.0", +                    "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", +                    "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", +                    "dev": true, +                    "requires": { +                        "locate-path": "^6.0.0", +                        "path-exists": "^4.0.0" +                    } +                },                  "json-schema-traverse": {                      "version": "0.4.1",                      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",                      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",                      "dev": true +                }, +                "locate-path": { +                    "version": "6.0.0", +                    "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", +                    "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", +                    "dev": true, +                    "requires": { +                        "p-locate": "^5.0.0" +                    } +                }, +                "p-limit": { +                    "version": "3.1.0", +                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", +                    "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", +                    "dev": true, +                    "requires": { +                        "yocto-queue": "^0.1.0" +                    } +                }, +                "p-locate": { +                    "version": "5.0.0", +                    "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", +                    "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", +                    "dev": true, +                    "requires": { +                        "p-limit": "^3.0.2" +                    }                  }              }          }, @@ -12897,12 +13070,12 @@              "requires": {}          },          "eslint-plugin-jsdoc": { -            "version": "39.2.9", -            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", -            "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", +            "version": "39.3.6", +            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", +            "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==",              "dev": true,              "requires": { -                "@es-joy/jsdoccomment": "~0.29.0", +                "@es-joy/jsdoccomment": "~0.31.0",                  "comment-parser": "1.3.1",                  "debug": "^4.3.4",                  "escape-string-regexp": "^4.0.0", @@ -12922,6 +13095,17 @@                  }              }          }, +        "eslint-plugin-jsonc": { +            "version": "2.4.0", +            "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.4.0.tgz", +            "integrity": "sha512-YXy5PjyUL9gFYal6pYijd8P6EmpeWskv7PVhB9Py/AwKPn+hwnQHcIzQILiLfxztfhtWiRIUSzoLe/JThZgSUw==", +            "dev": true, +            "requires": { +                "eslint-utils": "^3.0.0", +                "jsonc-eslint-parser": "^2.0.4", +                "natural-compare": "^1.4.0" +            } +        },          "eslint-plugin-no-unsanitized": {              "version": "4.0.1",              "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.1.tgz", @@ -13066,15 +13250,6 @@                  }              }          }, -        "execall": { -            "version": "2.0.0", -            "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", -            "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", -            "dev": true, -            "requires": { -                "clone-regexp": "^2.1.0" -            } -        },          "express": {              "version": "4.17.2",              "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", @@ -13182,9 +13357,9 @@              "dev": true          },          "fast-glob": { -            "version": "3.2.11", -            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", -            "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", +            "version": "3.2.12", +            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", +            "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",              "dev": true,              "requires": {                  "@nodelib/fs.stat": "^2.0.2", @@ -13247,9 +13422,9 @@              "dev": true          },          "fastest-levenshtein": { -            "version": "1.0.12", -            "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", -            "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", +            "version": "1.0.16", +            "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", +            "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",              "dev": true          },          "fastq": { @@ -13583,12 +13758,6 @@                  "has-symbols": "^1.0.1"              }          }, -        "get-stdin": { -            "version": "8.0.0", -            "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", -            "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", -            "dev": true -        },          "get-stream": {              "version": "4.1.0",              "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -13695,9 +13864,9 @@              }          },          "globals": { -            "version": "13.13.0", -            "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", -            "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", +            "version": "13.17.0", +            "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", +            "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",              "dev": true,              "requires": {                  "type-fest": "^0.20.2" @@ -13777,6 +13946,12 @@              "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",              "dev": true          }, +        "grapheme-splitter": { +            "version": "1.0.4", +            "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", +            "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", +            "dev": true +        },          "growly": {              "version": "1.3.0",              "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -13954,13 +14129,13 @@              "dev": true          },          "html-validate": { -            "version": "7.1.0", -            "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.1.0.tgz", -            "integrity": "sha512-sp/dyAk57tXfqpMP87jbnrX8UiyXvclVyQE7GK0RJBX5caPI5rJ4RaE3L9R4isT0rdeORXXLVdyxkH4KnKLprQ==", +            "version": "7.6.0", +            "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.6.0.tgz", +            "integrity": "sha512-6Ib433N0/ou2/0oLjfUmFjaAVFW8KKU/fOBBhrZXNuPcYCUsZExAD3xOqKl1bp5ANHb4PItXEK9vcKL/L7Da0Q==",              "dev": true,              "requires": {                  "@babel/code-frame": "^7.10.0", -                "@html-validate/stylish": "^2.0.0", +                "@html-validate/stylish": "^3.0.0",                  "@sidvind/better-ajv-errors": "^2.0.0",                  "acorn-walk": "^8.0.0",                  "ajv": "^8.0.0", @@ -14455,12 +14630,6 @@                  "has-tostringtag": "^1.0.0"              }          }, -        "is-regexp": { -            "version": "2.1.0", -            "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", -            "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", -            "dev": true -        },          "is-relative": {              "version": "0.1.3",              "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", @@ -14592,6 +14761,12 @@              "integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=",              "dev": true          }, +        "js-sdsl": { +            "version": "4.1.5", +            "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", +            "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", +            "dev": true +        },          "js-tokens": {              "version": "4.0.0",              "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14614,9 +14789,9 @@              "dev": true          },          "jsdoc-type-pratt-parser": { -            "version": "3.0.1", -            "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.0.1.tgz", -            "integrity": "sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==", +            "version": "3.1.0", +            "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", +            "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==",              "dev": true          },          "jsdom": { @@ -14707,6 +14882,18 @@              "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",              "dev": true          }, +        "jsonc-eslint-parser": { +            "version": "2.1.0", +            "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.1.0.tgz", +            "integrity": "sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==", +            "dev": true, +            "requires": { +                "acorn": "^8.5.0", +                "eslint-visitor-keys": "^3.0.0", +                "espree": "^9.0.0", +                "semver": "^7.3.5" +            } +        },          "jsonfile": {              "version": "6.1.0",              "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -14828,9 +15015,9 @@              "dev": true          },          "kleur": { -            "version": "4.1.4", -            "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", -            "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", +            "version": "4.1.5", +            "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", +            "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",              "dev": true          },          "known-css-properties": { @@ -15458,12 +15645,6 @@              "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",              "dev": true          }, -        "normalize-selector": { -            "version": "0.2.0", -            "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", -            "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", -            "dev": true -        },          "normalize-url": {              "version": "2.0.1",              "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", @@ -17128,12 +17309,6 @@              "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",              "dev": true          }, -        "specificity": { -            "version": "0.4.1", -            "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", -            "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", -            "dev": true -        },          "split": {              "version": "0.3.3",              "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -17405,21 +17580,20 @@              "dev": true          },          "stylelint": { -            "version": "14.8.2", -            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz", -            "integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==", +            "version": "14.14.0", +            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz", +            "integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==",              "dev": true,              "requires": { +                "@csstools/selector-specificity": "^2.0.2",                  "balanced-match": "^2.0.0", -                "colord": "^2.9.2", +                "colord": "^2.9.3",                  "cosmiconfig": "^7.0.1", -                "css-functions-list": "^3.0.1", +                "css-functions-list": "^3.1.0",                  "debug": "^4.3.4", -                "execall": "^2.0.0", -                "fast-glob": "^3.2.11", -                "fastest-levenshtein": "^1.0.12", +                "fast-glob": "^3.2.12", +                "fastest-levenshtein": "^1.0.16",                  "file-entry-cache": "^6.0.1", -                "get-stdin": "^8.0.0",                  "global-modules": "^2.0.0",                  "globby": "^11.1.0",                  "globjoin": "^0.1.4", @@ -17433,24 +17607,22 @@                  "meow": "^9.0.0",                  "micromatch": "^4.0.5",                  "normalize-path": "^3.0.0", -                "normalize-selector": "^0.2.0",                  "picocolors": "^1.0.0", -                "postcss": "^8.4.13", +                "postcss": "^8.4.17",                  "postcss-media-query-parser": "^0.2.3",                  "postcss-resolve-nested-selector": "^0.1.1",                  "postcss-safe-parser": "^6.0.0",                  "postcss-selector-parser": "^6.0.10",                  "postcss-value-parser": "^4.2.0",                  "resolve-from": "^5.0.0", -                "specificity": "^0.4.1",                  "string-width": "^4.2.3",                  "strip-ansi": "^6.0.1",                  "style-search": "^0.1.0", -                "supports-hyperlinks": "^2.2.0", +                "supports-hyperlinks": "^2.3.0",                  "svg-tags": "^1.0.0",                  "table": "^6.8.0",                  "v8-compile-cache": "^2.3.0", -                "write-file-atomic": "^4.0.1" +                "write-file-atomic": "^4.0.2"              },              "dependencies": {                  "balanced-match": { @@ -17460,12 +17632,12 @@                      "dev": true                  },                  "postcss": { -                    "version": "8.4.13", -                    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", -                    "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", +                    "version": "8.4.18", +                    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", +                    "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",                      "dev": true,                      "requires": { -                        "nanoid": "^3.3.3", +                        "nanoid": "^3.3.4",                          "picocolors": "^1.0.0",                          "source-map-js": "^1.0.2"                      } @@ -17479,9 +17651,9 @@              }          },          "stylelint-config-recommended": { -            "version": "7.0.0", -            "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", -            "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", +            "version": "9.0.0", +            "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz", +            "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",              "dev": true,              "requires": {}          }, @@ -17504,9 +17676,9 @@              }          },          "supports-hyperlinks": { -            "version": "2.2.0", -            "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", -            "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", +            "version": "2.3.0", +            "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", +            "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",              "dev": true,              "requires": {                  "has-flag": "^4.0.0", @@ -18315,9 +18487,9 @@              "dev": true          },          "write-file-atomic": { -            "version": "4.0.1", -            "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", -            "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", +            "version": "4.0.2", +            "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", +            "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",              "dev": true,              "requires": {                  "imurmurhash": "^0.1.4", @@ -18420,6 +18592,12 @@                  "fd-slicer": "~1.1.0"              }          }, +        "yocto-queue": { +            "version": "0.1.0", +            "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", +            "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", +            "dev": true +        },          "zip-dir": {              "version": "2.0.0",              "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-2.0.0.tgz", diff --git a/package.json b/package.json index 532d4a51..180c408d 100644 --- a/package.json +++ b/package.json @@ -39,16 +39,17 @@          "ajv": "^8.11.0",          "browserify": "^17.0.0",          "css": "^3.0.0", -        "eslint": "^8.15.0", +        "eslint": "^8.25.0",          "eslint-plugin-header": "^3.1.1", -        "eslint-plugin-jsdoc": "^39.2.9", +        "eslint-plugin-jsdoc": "^39.3.6", +        "eslint-plugin-jsonc": "^2.4.0",          "eslint-plugin-no-unsanitized": "^4.0.1",          "fake-indexeddb": "^3.1.7", -        "html-validate": "^7.1.0", +        "html-validate": "^7.6.0",          "jsdom": "^19.0.0",          "parse5": "^7.0.0", -        "stylelint": "^14.8.2", -        "stylelint-config-recommended": "^7.0.0", +        "stylelint": "^14.14.0", +        "stylelint-config-recommended": "^9.0.0",          "web-ext": "^6.8.0"      }  } |