diff options
168 files changed, 563 insertions, 367 deletions
diff --git a/octicon-svg-loader.ts b/octicon-svg-loader.ts index eac592f7..5931b845 100644 --- a/octicon-svg-loader.ts +++ b/octicon-svg-loader.ts @@ -1,7 +1,7 @@ import path from 'path'; import webpack from 'webpack'; -export default function (this: webpack.loader.LoaderContext, source: string): string { +export default function svgLoader(this: webpack.loader.LoaderContext, source: string): string { const iconName = path.basename(this.resourcePath, path.extname(this.resourcePath)); const svgWithClass = source.replace( '<svg', diff --git a/package-lock.json b/package-lock.json index 73e44de6..2d871952 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,19 +21,19 @@ } }, "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", + "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", + "@babel/generator": "^7.9.6", "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", + "@babel/helpers": "^7.9.6", + "@babel/parser": "^7.9.6", "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -62,23 +62,17 @@ } }, "@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", + "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", "dev": true, "requires": { - "@babel/types": "^7.9.5", + "@babel/types": "^7.9.6", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" }, "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -150,15 +144,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", + "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.8.3", "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/helper-simple-access": { @@ -187,14 +181,14 @@ "dev": true }, "@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", - "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", + "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", "dev": true, "requires": { "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" + "@babel/traverse": "^7.9.6", + "@babel/types": "^7.9.6" } }, "@babel/highlight": { @@ -267,9 +261,9 @@ } }, "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", + "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", "dev": true }, "@babel/polyfill": { @@ -283,9 +277,9 @@ } }, "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", + "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -313,17 +307,17 @@ } }, "@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", + "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", + "@babel/generator": "^7.9.6", "@babel/helper-function-name": "^7.9.5", "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" @@ -338,9 +332,9 @@ } }, "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", + "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.9.5", @@ -433,6 +427,25 @@ "integrity": "sha512-on7+0FFpUH7+g5iLFkmk0oruqzE6uUnpKK0D6HM637aIvQ/mlXz33VlamsS4TSU6pifWSNIrUxrNKjAReU2Juw==", "dev": true }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz", + "integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz", + "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==", + "dev": true, + "requires": { + "remark": "^12.0.0", + "unist-util-find-all-after": "^3.0.1" + } + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -668,26 +681,6 @@ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "dev": true }, - "@types/vfile": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", - "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/unist": "*", - "@types/vfile-message": "*" - } - }, - "@types/vfile-message": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", - "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", - "dev": true, - "requires": { - "vfile-message": "*" - } - }, "@types/webpack": { "version": "4.41.10", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.10.tgz", @@ -714,12 +707,12 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.27.0.tgz", - "integrity": "sha512-/my+vVHRN7zYgcp0n4z5A6HAK7bvKGBiswaM5zIlOQczsxj/aiD7RcgD+dvVFuwFaGh5+kM7XA6Q6PN0bvb1tw==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.31.0.tgz", + "integrity": "sha512-iIC0Pb8qDaoit+m80Ln/aaeu9zKQdOLF4SHcGLarSeY1gurW6aU4JsOPMjKQwXlw70MvWKZQc6S2NamA8SJ/gg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.27.0", + "@typescript-eslint/experimental-utils": "2.31.0", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "tsutils": "^3.17.1" @@ -734,13 +727,13 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.27.0.tgz", - "integrity": "sha512-vOsYzjwJlY6E0NJRXPTeCGqjv5OHgRU1kzxHKWJVPjDYGbPgLudBXjIlc+OD1hDBZ4l1DLbOc5VjofKahsu9Jw==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.31.0.tgz", + "integrity": "sha512-MI6IWkutLYQYTQgZ48IVnRXmLR/0Q6oAyJgiOror74arUMh7EWjJkADfirZhRsUMHeLJ85U2iySDwHTSnNi9vA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.27.0", + "@typescript-eslint/typescript-estree": "2.31.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" }, @@ -757,21 +750,21 @@ } }, "@typescript-eslint/parser": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.27.0.tgz", - "integrity": "sha512-HFUXZY+EdwrJXZo31DW4IS1ujQW3krzlRjBrFRrJcMDh0zCu107/nRfhk/uBasO8m0NVDbBF5WZKcIUMRO7vPg==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.31.0.tgz", + "integrity": "sha512-uph+w6xUOlyV2DLSC6o+fBDzZ5i7+3/TxAsH4h3eC64tlga57oMb96vVlXoMwjR/nN+xyWlsnxtbDkB46M2EPQ==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.27.0", - "@typescript-eslint/typescript-estree": "2.27.0", + "@typescript-eslint/experimental-utils": "2.31.0", + "@typescript-eslint/typescript-estree": "2.31.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.27.0.tgz", - "integrity": "sha512-t2miCCJIb/FU8yArjAvxllxbTiyNqaXJag7UOpB5DVoM3+xnjeOngtqlJkLRnMtzaRcJhe3CIR9RmL40omubhg==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.31.0.tgz", + "integrity": "sha512-vxW149bXFXXuBrAak0eKHOzbcu9cvi6iNcJDzEtOkRwGHxJG15chiAQAwhLOsk+86p9GTr/TziYvw+H9kMaIgA==", "dev": true, "requires": { "debug": "^4.1.1", @@ -2074,6 +2067,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -2636,13 +2635,13 @@ } }, "browserslist": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz", - "integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001038", - "electron-to-chromium": "^1.3.390", + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", "node-releases": "^1.1.53", "pkg-up": "^2.0.0" } @@ -2863,9 +2862,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001039", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001039.tgz", - "integrity": "sha512-SezbWCTT34eyFoWHgx8UWso7YtvtM7oosmFoXbCkdC6qJzRfBTeTgE9REtKtiuKXuMwWTZEvdnFNGAyVMorv8Q==", + "version": "1.0.30001053", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001053.tgz", + "integrity": "sha512-HtV4wwIZl6GA4Oznse8aR274XUOYGZnQLcf/P8vHgmlfqSNelwD+id8CyHOceqLqt9yfKmo7DUZTh1EuS9pukg==", "dev": true }, "capture-stack-trace": { @@ -4872,9 +4871,9 @@ } }, "electron-to-chromium": { - "version": "1.3.398", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.398.tgz", - "integrity": "sha512-BJjxuWLKFbM5axH3vES7HKMQgAknq9PZHBkMK/rEXUQG9i1Iw5R+6hGkm6GtsQSANjSUrh/a6m32nzCNDNo/+w==", + "version": "1.3.430", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.430.tgz", + "integrity": "sha512-HMDYkANGhx6vfbqpOf/hc6hWEmiOipOHGDeRDeUb3HLD3XIWpvKQxFgWf0tgHcr3aNv6I/8VPecplqmQsXoZSw==", "dev": true }, "element-ready": { @@ -5297,9 +5296,9 @@ } }, "eslint-config-prettier": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.10.1.tgz", - "integrity": "sha512-svTy6zh1ecQojvpbJSgH3aei/Rt7C6i090l5f2WQ4aB05lYHeZIR1qL4wZyyILTbtmnbHP5Yn8MrsOJMGa8RkQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -5329,9 +5328,9 @@ "dev": true }, "eslint-config-xo-typescript": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.26.0.tgz", - "integrity": "sha512-0bBfXLQX5F7JgJx5HIrSx3bGZk2D8W0uhYXB0jv6L0ztmWl4yqfCn6J4zgjUqMCsahHIjyaafBWrnc6eVaETWg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.28.0.tgz", + "integrity": "sha512-q+mBhTikLjrPOszx6gezd6ZxrbrSHeBp/Z8gGgPowBYvBYG78llfQZxOcsbKN6aM8+S/OFAJP9bk5w/roLDFTA==", "dev": true }, "eslint-formatter-pretty": { @@ -5498,9 +5497,9 @@ } }, "eslint-plugin-ava": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-10.2.0.tgz", - "integrity": "sha512-1EP9Mn/pau+ZxwRPDspiioRD6GHCSz7RywTmqW01JTxXvX0vKEV0odfWe+QL+jXfmqd83SHHvDJfOvYcyzoxYA==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-10.3.0.tgz", + "integrity": "sha512-rNijYwBo+28ahXvifTx3IYzsNjtArAeyowBJ1Rd5dCtW7f0y5aSTBU7sXBpU5o5Eh5/FZvz3lSLVLac8ExYTtA==", "dev": true, "requires": { "deep-strict-equal": "^0.2.0", @@ -5508,6 +5507,7 @@ "espree": "^6.1.2", "espurify": "^2.0.1", "import-modules": "^2.0.0", + "micro-spelling-correcter": "^1.1.1", "pkg-dir": "^4.2.0", "resolve-from": "^5.0.0" } @@ -6037,9 +6037,9 @@ } }, "eslint-plugin-no-use-extend-native": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.4.1.tgz", - "integrity": "sha512-tDkHM0kvxU0M2TpLRKGfFrpWXctFdTDY7VkiDTLYDaX90hMSJKkr/FiWThEXvKV0Dvffut2Z0B9Y7+h/k6suiA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.5.0.tgz", + "integrity": "sha512-dBNjs8hor8rJgeXLH4HTut5eD3RGWf9JUsadIfuL7UosVQ/dnvOKwxEcRrXrFxrMZ8llUVWT+hOimxJABsAUzQ==", "dev": true, "requires": { "is-get-set-prop": "^1.0.0", @@ -6080,9 +6080,9 @@ } }, "eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", + "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -6132,30 +6132,40 @@ } }, "eslint-plugin-react-hooks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", - "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.0.tgz", + "integrity": "sha512-YKBY+kilK5wrwIdQnCF395Ya6nDro3EAMoe+2xFkmyklyhF16fH83TrQOo9zbZIDxBsXFgBbywta/0JKRNFDkw==", "dev": true }, "eslint-plugin-unicorn": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-17.2.0.tgz", - "integrity": "sha512-0kYjrywf0kQxevFz571KrDfYMIRZ5Kq6dDgPU1EEBFeC181r+fAaPatBScWX+/hisKJ4+eCRFebxTeVylsSYmw==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-19.0.1.tgz", + "integrity": "sha512-fu0/h5mHXfBC6EkA3i2vCjsfC8j53+T9txGhNL4fpxJ+1JKsUKfv+tmXDgy0XnLHhFjnOZp4tRWJWbcykeIP2Q==", "dev": true, "requires": { "ci-info": "^2.0.0", "clean-regexp": "^1.0.0", "eslint-ast-utils": "^1.1.0", "eslint-template-visitor": "^1.1.0", + "eslint-utils": "^2.0.0", "import-modules": "^2.0.0", "lodash": "^4.17.15", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.20", + "regexp-tree": "^0.1.21", "reserved-words": "^0.1.2", "safe-regex": "^2.1.1", - "semver": "^7.1.2" + "semver": "^7.1.3" }, "dependencies": { + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -6258,9 +6268,9 @@ } }, "semver": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz", - "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "type-fest": { @@ -6272,9 +6282,9 @@ } }, "eslint-rule-docs": { - "version": "1.1.185", - "resolved": "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.185.tgz", - "integrity": "sha512-1sea+uWAA76814hpwKb6IIXAx3catuivoYOlwgf96RFOhNfuE+LWsG7asIHUkAQ1Vx4SN/kfpU+lTXXnu1gg/w==", + "version": "1.1.189", + "resolved": "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.189.tgz", + "integrity": "sha512-26nV3Ef6J9xUjQhTjnUlB628AEXuQcRvXzUSQz04tTm1TSIUyBe2XaI8ODDxK68/42QifDBbdNuMFBtcHNDmGQ==", "dev": true }, "eslint-scope": { @@ -8763,6 +8773,12 @@ } } }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", @@ -9356,10 +9372,13 @@ "dev": true }, "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } }, "marky": { "version": "1.2.1", @@ -9414,12 +9433,12 @@ } }, "mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", + "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" } }, "mdn-browser-compat-data": { @@ -9484,6 +9503,12 @@ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", "dev": true }, + "micro-spelling-correcter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/micro-spelling-correcter/-/micro-spelling-correcter-1.1.1.tgz", + "integrity": "sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==", + "dev": true + }, "microevent.ts": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", @@ -9977,9 +10002,9 @@ } }, "node-releases": { - "version": "1.1.53", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", - "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", + "version": "1.1.55", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz", + "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==", "dev": true }, "normalize-package-data": { @@ -10563,9 +10588,9 @@ } }, "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dev": true, "requires": { "character-entities": "^1.0.0", @@ -10993,15 +11018,6 @@ "htmlparser2": "^3.10.0" } }, - "postcss-jsx": { - "version": "0.36.4", - "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz", - "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==", - "dev": true, - "requires": { - "@babel/core": ">=7.2.2" - } - }, "postcss-less": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", @@ -11011,16 +11027,6 @@ "postcss": "^7.0.14" } }, - "postcss-markdown": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", - "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==", - "dev": true, - "requires": { - "remark": "^10.0.1", - "unist-util-find-all-after": "^1.0.2" - } - }, "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", @@ -11227,9 +11233,9 @@ "dev": true }, "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.4.tgz", + "integrity": "sha512-SVJIQ51spzFDvh4fIbCLvciiDMCrRhlN3mbZvv/+ycjvmF5E73bKdGfU8QDLNmjYJf+lsGnDBC4UUnvTe5OO0w==", "dev": true }, "prettier-linter-helpers": { @@ -11698,43 +11704,44 @@ } }, "remark": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", - "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.0.tgz", + "integrity": "sha512-oX4lMIS0csgk8AEbzY0h2jdR0ngiCHOpwwpxjmRa5TqAkeknY+tkhjRJGZqnCmvyuWh55/0SW5WY3R3nn3PH9A==", "dev": true, "requires": { - "remark-parse": "^6.0.0", - "remark-stringify": "^6.0.0", - "unified": "^7.0.0" + "remark-parse": "^8.0.0", + "remark-stringify": "^8.0.0", + "unified": "^9.0.0" } }, "remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz", + "integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==", "dev": true, "requires": { + "ccount": "^1.0.0", "collapse-white-space": "^1.0.2", "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "is-word-character": "^1.0.0", "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", "xtend": "^4.0.1" } }, "remark-stringify": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", - "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz", + "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==", "dev": true, "requires": { "ccount": "^1.0.0", @@ -11743,12 +11750,12 @@ "is-whitespace-character": "^1.0.0", "longest-streak": "^2.0.1", "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", + "markdown-table": "^2.0.0", + "mdast-util-compact": "^2.0.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", + "stringify-entities": "^3.0.0", "unherit": "^1.0.4", "xtend": "^4.0.1" } @@ -12970,14 +12977,15 @@ } }, "stringify-entities": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", - "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.1.tgz", + "integrity": "sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==", "dev": true, "requires": { "character-entities-html4": "^1.0.0", "character-entities-legacy": "^1.0.0", "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.2", "is-hexadecimal": "^1.0.0" } }, @@ -13041,14 +13049,16 @@ "dev": true }, "stylelint": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.0.tgz", - "integrity": "sha512-ehNzQu9JAbxuiNhUhmoyPgMjIdz7Fg1AxC5urPVhKotto/faF5GxwljSoLvQa6pB6yd+BVuofApWjWT/6/rBMQ==", + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.3.tgz", + "integrity": "sha512-j8Oio2T1YNiJc6iXDaPYd74Jg4zOa1bByNm/g9/Nvnq4tDPsIjMi46jhRZyPPktGPwjJ5FwcmCqIRlH6PVP8mA==", "dev": true, "requires": { - "autoprefixer": "^9.7.5", + "@stylelint/postcss-css-in-js": "^0.37.1", + "@stylelint/postcss-markdown": "^0.36.1", + "autoprefixer": "^9.7.6", "balanced-match": "^1.0.0", - "chalk": "^3.0.0", + "chalk": "^4.0.0", "cosmiconfig": "^6.0.0", "debug": "^4.1.1", "execall": "^2.0.0", @@ -13071,14 +13081,12 @@ "normalize-selector": "^0.2.0", "postcss": "^7.0.27", "postcss-html": "^0.36.0", - "postcss-jsx": "^0.36.4", "postcss-less": "^3.1.4", - "postcss-markdown": "^0.36.0", "postcss-media-query-parser": "^0.2.3", "postcss-reporter": "^6.0.1", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.2", + "postcss-sass": "^0.4.4", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^6.0.2", "postcss-syntax": "^0.36.2", @@ -13113,16 +13121,6 @@ "quick-lru": "^4.0.1" } }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -13173,22 +13171,22 @@ "dev": true }, "meow": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.0.tgz", - "integrity": "sha512-iIAoeI01v6pmSfObAAWFoITAA4GgiT45m4SmJgoxtZfvI0fyZwhV4d0lTwiUXvAKIPlma05Feb2Xngl52Mj5Cg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", "dev": true, "requires": { "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.1.1", + "camelcase-keys": "^6.2.2", "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.0.0", - "minimist-options": "^4.0.1", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.0", + "read-pkg-up": "^7.0.1", "redent": "^3.0.0", "trim-newlines": "^3.0.0", - "type-fest": "^0.8.1", - "yargs-parser": "^18.1.1" + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" } }, "minimist-options": { @@ -13278,6 +13276,14 @@ "find-up": "^4.1.0", "read-pkg": "^5.2.0", "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "redent": { @@ -13296,16 +13302,10 @@ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, "yargs-parser": { - "version": "18.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz", - "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -13315,13 +13315,13 @@ } }, "stylelint-config-xo": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/stylelint-config-xo/-/stylelint-config-xo-0.16.1.tgz", - "integrity": "sha512-gLJYd+VLJKvJl1CGV7pFrEs6W0nGWvmlf/SYL+nw2qzjSC/WFKIdDS1xJlJdG1wTesF6+Hov7g8q9T8FfxQmDg==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stylelint-config-xo/-/stylelint-config-xo-0.17.0.tgz", + "integrity": "sha512-RLZ6/EnweT5VUsouIt604U/JPAOWa8p12nJzySixoEZGiLnv/YeLNeSG665ki87iDLrDy5qcn5BS35UlTv7CTg==", "dev": true, "requires": { "stylelint-declaration-block-no-ignored-properties": "^2.2.0", - "stylelint-order": "^3.1.1" + "stylelint-order": "^4.0.0" } }, "stylelint-declaration-block-no-ignored-properties": { @@ -13334,13 +13334,13 @@ } }, "stylelint-order": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-3.1.1.tgz", - "integrity": "sha512-4gP/r8j/6JGZ/LL41b2sYtQqfwZl4VSqTp7WeIwI67v/OXNQ08dnn64BGXNwAUSgb2+YIvIOxQaMzqMyQMzoyQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.0.0.tgz", + "integrity": "sha512-bXV0v+jfB0+JKsqIn3mLglg1Dj2QCYkFHNfL1c+rVMEmruZmW5LUqT/ARBERfBm8SFtCuXpEdatidw/3IkcoiA==", "dev": true, "requires": { "lodash": "^4.17.15", - "postcss": "^7.0.17", + "postcss": "^7.0.26", "postcss-sorting": "^5.0.1" } }, @@ -14130,19 +14130,31 @@ } }, "unified": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", - "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz", + "integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==", "dev": true, "requires": { - "@types/unist": "^2.0.0", - "@types/vfile": "^3.0.0", "bail": "^1.0.0", "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", "trough": "^1.0.0", - "vfile": "^3.0.0", - "x-is-string": "^0.1.0" + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } } }, "union-value": { @@ -14191,27 +14203,27 @@ } }, "unist-util-find-all-after": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz", - "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz", + "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==", "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "unist-util-is": "^4.0.0" } }, "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", + "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", "dev": true }, "unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" } }, "unist-util-stringify-position": { @@ -14224,21 +14236,24 @@ } }, "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", + "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", "dev": true, "requires": { - "unist-util-visit-parents": "^2.0.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" } }, "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz", + "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==", "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" } }, "universalify": { @@ -14469,15 +14484,16 @@ } }, "vfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", - "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.0.tgz", + "integrity": "sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==", "dev": true, "requires": { + "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" }, "dependencies": { "is-buffer": { @@ -14485,28 +14501,13 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", "dev": true - }, - "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", - "dev": true - }, - "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", - "dev": true, - "requires": { - "unist-util-stringify-position": "^1.1.1" - } } } }, "vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz", + "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==", "dev": true }, "vfile-message": { @@ -16364,12 +16365,6 @@ "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", "dev": true }, - "x-is-string": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", - "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", - "dev": true - }, "xdg-basedir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", @@ -16405,33 +16400,33 @@ "dev": true }, "xo": { - "version": "0.28.3", - "resolved": "https://registry.npmjs.org/xo/-/xo-0.28.3.tgz", - "integrity": "sha512-HA1wqG9NI9CTHVZeNyLVVs2HGwdcCtxSKPwlIVpwuZTGzVkv5rCzqBhTGKpLX6aYZu6YkuCL2pvRVyZqYMtlCw==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/xo/-/xo-0.30.0.tgz", + "integrity": "sha512-755dmXTIj8uHv0lUZmDrtQb98wdu6ryqgcy8jvXBZgABz+kHm12IlzRQP+bO+w1u6NqkQB0Nn0Bh6Uv+KhdYiA==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "^2.23.0", - "@typescript-eslint/parser": "^2.23.0", + "@typescript-eslint/eslint-plugin": "^2.29.0", + "@typescript-eslint/parser": "^2.29.0", "arrify": "^2.0.1", "cosmiconfig": "^6.0.0", "debug": "^4.1.0", "eslint": "^6.8.0", - "eslint-config-prettier": "^6.10.0", + "eslint-config-prettier": "^6.11.0", "eslint-config-xo": "^0.29.0", - "eslint-config-xo-typescript": "^0.26.0", + "eslint-config-xo-typescript": "^0.28.0", "eslint-formatter-pretty": "^3.0.1", "eslint-import-resolver-webpack": "^0.12.1", "eslint-plugin-ava": "^10.0.1", "eslint-plugin-eslint-comments": "^3.1.2", "eslint-plugin-import": "^2.20.1", - "eslint-plugin-no-use-extend-native": "^0.4.1", + "eslint-plugin-no-use-extend-native": "^0.5.0", "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.2", + "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-unicorn": "^17.2.0", + "eslint-plugin-unicorn": "^19.0.0", "find-cache-dir": "^3.3.1", "find-up": "^4.1.0", - "fs-extra": "^8.1.0", + "fs-extra": "^9.0.0", "get-stdin": "^7.0.0", "globby": "^9.0.0", "has-flag": "^4.0.0", @@ -16445,10 +16440,10 @@ "open-editor": "^2.0.1", "p-reduce": "^2.1.0", "path-exists": "^4.0.0", - "prettier": "^1.15.2", + "prettier": "2.0.4", "resolve-cwd": "^3.0.0", "resolve-from": "^5.0.0", - "semver": "^7.1.3", + "semver": "^7.3.2", "slash": "^3.0.0", "to-absolute-glob": "^2.0.2", "typescript": "^3.0.0", @@ -16596,14 +16591,15 @@ } }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, "get-stdin": { @@ -16698,6 +16694,16 @@ "minimist": "^1.2.5" } }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -16744,9 +16750,9 @@ "dev": true }, "semver": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz", - "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "to-regex-range": { @@ -16758,6 +16764,12 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1" } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -16789,12 +16801,12 @@ "dev": true }, "yaml": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.3.tgz", - "integrity": "sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", + "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", "dev": true, "requires": { - "@babel/runtime": "^7.8.7" + "@babel/runtime": "^7.9.2" } }, "yargs": { diff --git a/package.json b/package.json index 1c5a44f9..2e99ca90 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "eslint": "^6.8.0", "eslint-config-xo-react": "^0.23.0", "eslint-plugin-react": "^7.19.0", - "eslint-plugin-react-hooks": "^3.0.0", + "eslint-plugin-react-hooks": "^4.0.0", "esm": "^3.2.25", "fork-ts-checker-webpack-plugin": "^4.1.3", "jsdom": "^16.2.2", @@ -77,8 +77,8 @@ "npm-run-all": "^4.1.5", "size-plugin": "^2.0.1", "string-replace-loader": "^2.2.0", - "stylelint": "^13.3.0", - "stylelint-config-xo": "^0.16.1", + "stylelint": "^13.3.3", + "stylelint-config-xo": "^0.17.0", "terser-webpack-plugin": "^2.3.5", "ts-loader": "^7.0.1", "ts-node": "^8.9.0", @@ -88,7 +88,7 @@ "web-ext-submit": "^4.1.0", "webpack": "^4.42.1", "webpack-cli": "^3.3.11", - "xo": "^0.28.3" + "xo": "^0.30.0" }, "xo": { "extends": "xo-react", @@ -104,6 +104,8 @@ "rules": { "@typescript-eslint/promise-function-async": "off", "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/prefer-readonly-parameter-types": "off", "no-alert": "off", "react/function-component-definition": [ "error", @@ -114,6 +116,24 @@ "react/jsx-first-prop-new-line": "error", "react/jsx-key": "off", "react/no-unknown-property": "off", + "import/order": [ + "error", + { + "groups": [ + [ + "builtin", + "external" + ] + ], + "newlines-between": "always-and-inside-groups" + } + ], + "import/first": "error", + "import/newline-after-import": "error", + "import/no-anonymous-default-export": "error", + "import/no-commonjs": "error", + "import/no-named-default": "error", + "import/prefer-default-export": "error", "import/extensions": [ "error", "never", @@ -122,8 +142,8 @@ } ], "import/no-unassigned-import": "off", - "unicorn/prevent-abbreviations": "error", - "unicorn/string-content": "off" + "unicorn/no-fn-reference-in-iterator": "off", + "unicorn/prefer-set-has": "off" }, "settings": { "react": { diff --git a/source/features/action-used-by-link.tsx b/source/features/action-used-by-link.tsx index 0c2f1eba..feb8a77e 100644 --- a/source/features/action-used-by-link.tsx +++ b/source/features/action-used-by-link.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import SearchIcon from 'octicon/search.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/add-tag-to-commits.tsx b/source/features/add-tag-to-commits.tsx index 25ee53af..e55222ea 100644 --- a/source/features/add-tag-to-commits.tsx +++ b/source/features/add-tag-to-commits.tsx @@ -3,6 +3,7 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import TagIcon from 'octicon/tag.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import * as api from '../libs/api'; import {getOwnerAndRepo, getRepoURL, getRepoGQL} from '../libs/utils'; diff --git a/source/features/batch-mark-files-as-viewed.tsx b/source/features/batch-mark-files-as-viewed.tsx index 05f018a4..519b2412 100644 --- a/source/features/batch-mark-files-as-viewed.tsx +++ b/source/features/batch-mark-files-as-viewed.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; let previousFile: HTMLElement | undefined; diff --git a/source/features/batch-open-issues.tsx b/source/features/batch-open-issues.tsx index 68c3b83c..d188e268 100644 --- a/source/features/batch-open-issues.tsx +++ b/source/features/batch-open-issues.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const confirmationRequiredCount = 10; diff --git a/source/features/bugs-tab.tsx b/source/features/bugs-tab.tsx index 63e03eec..f40b0f1d 100644 --- a/source/features/bugs-tab.tsx +++ b/source/features/bugs-tab.tsx @@ -1,11 +1,12 @@ import React from 'dom-chef'; import cache from 'webext-storage-cache'; import select from 'select-dom'; -import BugIcon from '@primer/octicons/build/svg/bug.svg'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; +import BugIcon from '@primer/octicons/build/svg/bug.svg'; + import * as api from '../libs/api'; +import features from '../libs/features'; import SearchQuery from '../libs/search-query'; import {getRepoURL} from '../libs/utils'; diff --git a/source/features/bypass-checks.tsx b/source/features/bypass-checks.tsx index 300dbd0a..b9a8d1c3 100644 --- a/source/features/bypass-checks.tsx +++ b/source/features/bypass-checks.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; diff --git a/source/features/ci-link.tsx b/source/features/ci-link.tsx index 7ed6a78c..66abf994 100644 --- a/source/features/ci-link.tsx +++ b/source/features/ci-link.tsx @@ -1,13 +1,14 @@ import './ci-link.css'; import oneTime from 'onetime'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; import {getRepoURL} from '../libs/utils'; import {appendBefore} from '../libs/dom-utils'; // Look for the CI icon in the latest 2 days of commits #2990 -export const getIcon = oneTime(fetchDom.bind(null, +const getIcon = oneTime(fetchDom.bind(null, `/${getRepoURL()}/commits`, '.commit-group:nth-of-type(-n+2) .commit-build-statuses' )); diff --git a/source/features/clean-issue-filters.tsx b/source/features/clean-issue-filters.tsx index 4df75658..229bebd2 100644 --- a/source/features/clean-issue-filters.tsx +++ b/source/features/clean-issue-filters.tsx @@ -2,8 +2,9 @@ import select from 'select-dom'; import cache from 'webext-storage-cache'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import {getOwnerAndRepo, getRepoURL, getRepoGQL} from '../libs/utils'; const hasAnyProjects = cache.function(async (): Promise<boolean> => { diff --git a/source/features/clean-rich-text-editor.tsx b/source/features/clean-rich-text-editor.tsx index f69a8d86..68afbc72 100644 --- a/source/features/clean-rich-text-editor.tsx +++ b/source/features/clean-rich-text-editor.tsx @@ -1,6 +1,7 @@ import './clean-rich-text-editor.css'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function hideButtons(): void { diff --git a/source/features/clean-sidebar.tsx b/source/features/clean-sidebar.tsx index 0bf031ae..5fd62bf6 100644 --- a/source/features/clean-sidebar.tsx +++ b/source/features/clean-sidebar.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import oneTime from 'onetime'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onReplacedElement from '../libs/on-replaced-element'; diff --git a/source/features/clear-pr-merge-commit-message.tsx b/source/features/clear-pr-merge-commit-message.tsx index 529c0c89..8e62af65 100644 --- a/source/features/clear-pr-merge-commit-message.tsx +++ b/source/features/clear-pr-merge-commit-message.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onPrMergePanelOpen from '../libs/on-pr-merge-panel-open'; diff --git a/source/features/clone-branch.tsx b/source/features/clone-branch.tsx index 52d92335..665464b7 100644 --- a/source/features/clone-branch.tsx +++ b/source/features/clone-branch.tsx @@ -1,9 +1,10 @@ import React from 'dom-chef'; import select from 'select-dom'; -import gitBranch from 'octicon/git-branch.svg'; import delegate from 'delegate-it'; +import gitBranch from 'octicon/git-branch.svg'; import * as textFieldEdit from 'text-field-edit'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import LoadingIcon from '../libs/icon-loading'; diff --git a/source/features/close-out-of-view-modals.tsx b/source/features/close-out-of-view-modals.tsx index d780d3e5..97133391 100644 --- a/source/features/close-out-of-view-modals.tsx +++ b/source/features/close-out-of-view-modals.tsx @@ -1,4 +1,5 @@ import delegate from 'delegate-it'; + import features from '../libs/features'; import {logError} from '../libs/utils'; diff --git a/source/features/collapsible-content-button.tsx b/source/features/collapsible-content-button.tsx index ad7f176c..f56c5171 100644 --- a/source/features/collapsible-content-button.tsx +++ b/source/features/collapsible-content-button.tsx @@ -2,8 +2,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import FoldDownIcon from 'octicon/fold-down.svg'; -import * as pageDetect from 'github-url-detection'; import * as textFieldEdit from 'text-field-edit'; +import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; // Wraps string in at least 2 \n on each side, diff --git a/source/features/comment-fields-keyboard-shortcuts.tsx b/source/features/comment-fields-keyboard-shortcuts.tsx index 6e5580b5..5ff1f112 100644 --- a/source/features/comment-fields-keyboard-shortcuts.tsx +++ b/source/features/comment-fields-keyboard-shortcuts.tsx @@ -1,7 +1,9 @@ import select from 'select-dom'; import delegate from 'delegate-it'; + import features from '../libs/features'; +// eslint-disable-next-line import/prefer-default-export export function listenToCommentFields(callback: delegate.EventHandler<KeyboardEvent, HTMLTextAreaElement>): void { delegate<HTMLTextAreaElement, KeyboardEvent>(document, '.js-comment-field, #commit-description-textarea', 'keydown', event => { const field = event.delegateTarget; diff --git a/source/features/comments-time-machine-links.tsx b/source/features/comments-time-machine-links.tsx index 0a5a3c7b..76d5dfd3 100644 --- a/source/features/comments-time-machine-links.tsx +++ b/source/features/comments-time-machine-links.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import ClockIcon from 'octicon/clock.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; import {appendBefore} from '../libs/dom-utils'; diff --git a/source/features/conflict-marker.tsx b/source/features/conflict-marker.tsx index 5d17d6ab..0ef95cfc 100644 --- a/source/features/conflict-marker.tsx +++ b/source/features/conflict-marker.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import AlertIcon from 'octicon/alert.svg'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; diff --git a/source/features/copy-file.tsx b/source/features/copy-file.tsx index e65bc92a..735cf966 100644 --- a/source/features/copy-file.tsx +++ b/source/features/copy-file.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; import copyToClipboard from 'copy-text-to-clipboard'; + import features from '../libs/features'; function handleClick({delegateTarget: button}: delegate.Event<MouseEvent, HTMLButtonElement>): void { diff --git a/source/features/copy-on-y.tsx b/source/features/copy-on-y.tsx index 080d46b5..aab7f00c 100644 --- a/source/features/copy-on-y.tsx +++ b/source/features/copy-on-y.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; import copyToClipboard from 'copy-text-to-clipboard'; + import features from '../libs/features'; const handler = ({key, target}: KeyboardEvent): void => { diff --git a/source/features/create-release-shortcut.tsx b/source/features/create-release-shortcut.tsx index f49babf1..c8b40a2f 100644 --- a/source/features/create-release-shortcut.tsx +++ b/source/features/create-release-shortcut.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/cross-deleted-pr-branches.tsx b/source/features/cross-deleted-pr-branches.tsx index 8a7cca50..9cc36c2e 100644 --- a/source/features/cross-deleted-pr-branches.tsx +++ b/source/features/cross-deleted-pr-branches.tsx @@ -2,8 +2,9 @@ import './cross-deleted-pr-branches.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import {wrap} from '../libs/dom-utils'; +import features from '../libs/features'; function init(): void { const lastBranchAction = select.last('.TimelineItem-body .user-select-contain > span:not(.base-ref)'); diff --git a/source/features/cycle-lists-with-keyboard-shortcuts.tsx b/source/features/cycle-lists-with-keyboard-shortcuts.tsx index 36746d87..80f30409 100644 --- a/source/features/cycle-lists-with-keyboard-shortcuts.tsx +++ b/source/features/cycle-lists-with-keyboard-shortcuts.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/deep-reblame.tsx b/source/features/deep-reblame.tsx index 2276b5a8..24651461 100644 --- a/source/features/deep-reblame.tsx +++ b/source/features/deep-reblame.tsx @@ -2,9 +2,10 @@ import './deep-reblame.css'; import mem from 'mem'; import React from 'dom-chef'; import select from 'select-dom'; -import VersionIcon from 'octicon/versions.svg'; import delegate from 'delegate-it'; +import VersionIcon from 'octicon/versions.svg'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import LoadingIcon from '../libs/icon-loading'; diff --git a/source/features/default-branch-button.tsx b/source/features/default-branch-button.tsx index bc69c079..bde2713b 100644 --- a/source/features/default-branch-button.tsx +++ b/source/features/default-branch-button.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; import ChevronLeftIcon from 'octicon/chevron-left.svg'; + import features from '../libs/features'; import {groupButtons} from '../libs/group-buttons'; import getDefaultBranch from '../libs/get-default-branch'; diff --git a/source/features/deprioritize-marketplace-link.tsx b/source/features/deprioritize-marketplace-link.tsx index 9457a870..9a472d5f 100644 --- a/source/features/deprioritize-marketplace-link.tsx +++ b/source/features/deprioritize-marketplace-link.tsx @@ -1,8 +1,9 @@ import React from 'dom-chef'; import select from 'select-dom'; -import elementReady from 'element-ready'; import domLoaded from 'dom-loaded'; +import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; async function init(): Promise<void> { diff --git a/source/features/dim-bots.tsx b/source/features/dim-bots.tsx index 441b476b..e8e098a7 100644 --- a/source/features/dim-bots.tsx +++ b/source/features/dim-bots.tsx @@ -1,6 +1,7 @@ import './dim-bots.css'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/discussion-links-on-repo-lists.tsx b/source/features/discussion-links-on-repo-lists.tsx index 7dd47cee..deabb086 100644 --- a/source/features/discussion-links-on-repo-lists.tsx +++ b/source/features/discussion-links-on-repo-lists.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import IssueIcon from 'octicon/issue-opened.svg'; import * as pageDetect from 'github-url-detection'; import PullRequestIcon from 'octicon/git-pull-request.svg'; + import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; diff --git a/source/features/download-folder-button.tsx b/source/features/download-folder-button.tsx index a691dd2b..ce3269b6 100644 --- a/source/features/download-folder-button.tsx +++ b/source/features/download-folder-button.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/edit-comments-faster.tsx b/source/features/edit-comments-faster.tsx index 04615b0b..5298a551 100644 --- a/source/features/edit-comments-faster.tsx +++ b/source/features/edit-comments-faster.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import PencilIcon from 'octicon/pencil.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/edit-files-faster.tsx b/source/features/edit-files-faster.tsx index 036bec52..c20bd10b 100644 --- a/source/features/edit-files-faster.tsx +++ b/source/features/edit-files-faster.tsx @@ -3,8 +3,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import PencilIcon from 'octicon/pencil.svg'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import {wrap} from '../libs/dom-utils'; +import features from '../libs/features'; import getDefaultBranch from '../libs/get-default-branch'; import onFileListUpdate from '../libs/on-file-list-update'; diff --git a/source/features/edit-readme.tsx b/source/features/edit-readme.tsx index b36b4770..c35eb0a3 100644 --- a/source/features/edit-readme.tsx +++ b/source/features/edit-readme.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import PencilIcon from 'octicon/pencil.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import getDefaultBranch from '../libs/get-default-branch'; diff --git a/source/features/embed-gist-inline.tsx b/source/features/embed-gist-inline.tsx index 8399e10e..7b31fa02 100644 --- a/source/features/embed-gist-inline.tsx +++ b/source/features/embed-gist-inline.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import domify from 'doma'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {isFirefox} from '../libs/utils'; diff --git a/source/features/embed-gist-via-iframe.tsx b/source/features/embed-gist-via-iframe.tsx index 997fa637..7385a86c 100644 --- a/source/features/embed-gist-via-iframe.tsx +++ b/source/features/embed-gist-via-iframe.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/expand-all-collapsed-code.tsx b/source/features/expand-all-collapsed-code.tsx index bdcdd8af..ca67d6ed 100644 --- a/source/features/expand-all-collapsed-code.tsx +++ b/source/features/expand-all-collapsed-code.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const expanderSelector = '.js-expand.directional-expander'; diff --git a/source/features/expand-all-hidden-comments.tsx b/source/features/expand-all-hidden-comments.tsx index 3d3291a3..03e604a2 100644 --- a/source/features/expand-all-hidden-comments.tsx +++ b/source/features/expand-all-hidden-comments.tsx @@ -1,5 +1,6 @@ import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {looseParseInt} from '../libs/utils'; diff --git a/source/features/extend-diff-expander.tsx b/source/features/extend-diff-expander.tsx index b2a1b881..4f57d3d3 100644 --- a/source/features/extend-diff-expander.tsx +++ b/source/features/extend-diff-expander.tsx @@ -2,6 +2,7 @@ import './extend-diff-expander.css'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function expandDiff(event: delegate.Event): void { diff --git a/source/features/extend-discussion-status-filters.tsx b/source/features/extend-discussion-status-filters.tsx index 7b4f0f9a..178ea6e6 100644 --- a/source/features/extend-discussion-status-filters.tsx +++ b/source/features/extend-discussion-status-filters.tsx @@ -1,8 +1,9 @@ import React from 'dom-chef'; import select from 'select-dom'; -import CheckIcon from 'octicon/check.svg'; import elementReady from 'element-ready'; +import CheckIcon from 'octicon/check.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import SearchQuery from '../libs/search-query'; diff --git a/source/features/faster-pr-diff-options.tsx b/source/features/faster-pr-diff-options.tsx index a3c897af..383e4370 100644 --- a/source/features/faster-pr-diff-options.tsx +++ b/source/features/faster-pr-diff-options.tsx @@ -4,6 +4,7 @@ import DiffIcon from 'octicon/diff.svg'; import BookIcon from 'octicon/book.svg'; import CheckIcon from 'octicon/check.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function createDiffStyleToggle(): DocumentFragment { diff --git a/source/features/file-finder-buffer.tsx b/source/features/file-finder-buffer.tsx index af7d5eee..19510693 100644 --- a/source/features/file-finder-buffer.tsx +++ b/source/features/file-finder-buffer.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import onetime from 'onetime'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const getBufferField = onetime((): HTMLInputElement => ( diff --git a/source/features/filter-comments-by-you.tsx b/source/features/filter-comments-by-you.tsx index 1047bf13..6017434d 100644 --- a/source/features/filter-comments-by-you.tsx +++ b/source/features/filter-comments-by-you.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getUsername} from '../libs/utils'; import SearchQuery from '../libs/search-query'; diff --git a/source/features/fit-textareas.tsx b/source/features/fit-textareas.tsx index 1a1d2891..e6f59a6c 100644 --- a/source/features/fit-textareas.tsx +++ b/source/features/fit-textareas.tsx @@ -1,8 +1,9 @@ import './fit-textareas.css'; import select from 'select-dom'; -import fitTextarea from 'fit-textarea'; import delegate from 'delegate-it'; +import fitTextarea from 'fit-textarea'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onPrMergePanelOpen from '../libs/on-pr-merge-panel-open'; diff --git a/source/features/fix-view-file-link-in-pr.tsx b/source/features/fix-view-file-link-in-pr.tsx index ef962a9a..6d7a722f 100644 --- a/source/features/fix-view-file-link-in-pr.tsx +++ b/source/features/fix-view-file-link-in-pr.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function handleMenuOpening(event: delegate.Event): void { diff --git a/source/features/focus-confirmation-buttons.tsx b/source/features/focus-confirmation-buttons.tsx index 08eed993..167041a9 100644 --- a/source/features/focus-confirmation-buttons.tsx +++ b/source/features/focus-confirmation-buttons.tsx @@ -1,4 +1,5 @@ import select from 'select-dom'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/follow-file-renames.tsx b/source/features/follow-file-renames.tsx index f035aa90..8445d1f3 100644 --- a/source/features/follow-file-renames.tsx +++ b/source/features/follow-file-renames.tsx @@ -1,8 +1,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import {getCleanPathname} from '../libs/utils'; interface File { diff --git a/source/features/format-discussion-titles.tsx b/source/features/format-discussion-titles.tsx index 8a896cfb..cfe73ff5 100644 --- a/source/features/format-discussion-titles.tsx +++ b/source/features/format-discussion-titles.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; import * as domFormatters from '../libs/dom-formatters'; diff --git a/source/features/global-discussion-list-filters.tsx b/source/features/global-discussion-list-filters.tsx index 0cd5d7fa..27865a3c 100644 --- a/source/features/global-discussion-list-filters.tsx +++ b/source/features/global-discussion-list-filters.tsx @@ -2,6 +2,7 @@ import './global-discussion-list-filters.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getUsername} from '../libs/utils'; import SearchQuery from '../libs/search-query'; diff --git a/source/features/go-to-action-from-file.tsx b/source/features/go-to-action-from-file.tsx index 87a881df..720b4b05 100644 --- a/source/features/go-to-action-from-file.tsx +++ b/source/features/go-to-action-from-file.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL, getRepoPath} from '../libs/utils'; diff --git a/source/features/hidden-review-comments-indicator.tsx b/source/features/hidden-review-comments-indicator.tsx index ace269f9..86b16e08 100644 --- a/source/features/hidden-review-comments-indicator.tsx +++ b/source/features/hidden-review-comments-indicator.tsx @@ -2,9 +2,10 @@ import './hidden-review-comments-indicator.css'; import mem from 'mem'; import React from 'dom-chef'; import select from 'select-dom'; -import CommentIcon from 'octicon/comment.svg'; import delegate from 'delegate-it'; +import CommentIcon from 'octicon/comment.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import anchorScroll from '../libs/anchor-scroll'; import onPrFileLoad from '../libs/on-pr-file-load'; diff --git a/source/features/hide-comments-faster.tsx b/source/features/hide-comments-faster.tsx index f065453f..8af0b310 100644 --- a/source/features/hide-comments-faster.tsx +++ b/source/features/hide-comments-faster.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function generateSubmenu(hideButton: Element): void { diff --git a/source/features/hide-disabled-milestone-sorter.tsx b/source/features/hide-disabled-milestone-sorter.tsx index 95bb0b0e..4902b19a 100644 --- a/source/features/hide-disabled-milestone-sorter.tsx +++ b/source/features/hide-disabled-milestone-sorter.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; diff --git a/source/features/hide-empty-meta.tsx b/source/features/hide-empty-meta.tsx index 3b31dfcc..2966d79f 100644 --- a/source/features/hide-empty-meta.tsx +++ b/source/features/hide-empty-meta.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/hide-inactive-deployments.tsx b/source/features/hide-inactive-deployments.tsx index 17eb6879..01442554 100644 --- a/source/features/hide-inactive-deployments.tsx +++ b/source/features/hide-inactive-deployments.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onNewComments from '../libs/on-new-comments'; diff --git a/source/features/hide-issue-list-autocomplete.tsx b/source/features/hide-issue-list-autocomplete.tsx index 594304c2..3923a614 100644 --- a/source/features/hide-issue-list-autocomplete.tsx +++ b/source/features/hide-issue-list-autocomplete.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/hide-own-stars.tsx b/source/features/hide-own-stars.tsx index f3b5a7bb..d27a89a0 100644 --- a/source/features/hide-own-stars.tsx +++ b/source/features/hide-own-stars.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getUsername} from '../libs/utils'; diff --git a/source/features/hide-useless-comments.tsx b/source/features/hide-useless-comments.tsx index 07556acc..b96ec492 100644 --- a/source/features/hide-useless-comments.tsx +++ b/source/features/hide-useless-comments.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/hide-useless-newsfeed-events.tsx b/source/features/hide-useless-newsfeed-events.tsx index 13b750f6..cf000c78 100644 --- a/source/features/hide-useless-newsfeed-events.tsx +++ b/source/features/hide-useless-newsfeed-events.tsx @@ -1,5 +1,6 @@ import './hide-useless-newsfeed-events.css'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/hide-watch-and-fork-count.tsx b/source/features/hide-watch-and-fork-count.tsx index 38874c03..0fe3a77b 100644 --- a/source/features/hide-watch-and-fork-count.tsx +++ b/source/features/hide-watch-and-fork-count.tsx @@ -1,5 +1,6 @@ import './hide-watch-and-fork-count.css'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/hide-zero-packages.tsx b/source/features/hide-zero-packages.tsx index 750c111f..98911c94 100644 --- a/source/features/hide-zero-packages.tsx +++ b/source/features/hide-zero-packages.tsx @@ -1,5 +1,6 @@ import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; async function init(): Promise<void> { diff --git a/source/features/highest-rated-comment.tsx b/source/features/highest-rated-comment.tsx index bec1b2c2..fb5531dd 100644 --- a/source/features/highest-rated-comment.tsx +++ b/source/features/highest-rated-comment.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import ArrowDownIcon from 'octicon/arrow-down.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {looseParseInt} from '../libs/utils'; diff --git a/source/features/highlight-collaborators-and-own-discussions.tsx b/source/features/highlight-collaborators-and-own-discussions.tsx index 998480f9..39647fda 100644 --- a/source/features/highlight-collaborators-and-own-discussions.tsx +++ b/source/features/highlight-collaborators-and-own-discussions.tsx @@ -1,9 +1,10 @@ import './highlight-collaborators-and-own-discussions.css'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; -import {getRepoURL, getUsername} from '../libs/utils'; import fetchDom from '../libs/fetch-dom'; +import {getRepoURL, getUsername} from '../libs/utils'; async function highlightCollaborators(): Promise<false | void> { const authors = select.all('.js-issue-row [data-hovercard-type="user"]'); diff --git a/source/features/html-preview-link.tsx b/source/features/html-preview-link.tsx index 7160627a..f7b1ec21 100644 --- a/source/features/html-preview-link.tsx +++ b/source/features/html-preview-link.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const isSingleHTMLFile = (): boolean => pageDetect.isSingleFile() && (location.pathname.endsWith('.html') || location.pathname.endsWith('.htm')); diff --git a/source/features/improve-shortcut-help.tsx b/source/features/improve-shortcut-help.tsx index b0abdbd5..47c70d7d 100644 --- a/source/features/improve-shortcut-help.tsx +++ b/source/features/improve-shortcut-help.tsx @@ -1,6 +1,7 @@ import './improve-shortcut-help.css'; import React from 'dom-chef'; import select from 'select-dom'; + import features from '../libs/features'; function splitKeys(keys: string): DocumentFragment[] { diff --git a/source/features/indented-code-wrapping.tsx b/source/features/indented-code-wrapping.tsx index f399623e..e7f66003 100644 --- a/source/features/indented-code-wrapping.tsx +++ b/source/features/indented-code-wrapping.tsx @@ -1,6 +1,7 @@ import './indented-code-wrapping.css'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onPrFileLoad from '../libs/on-pr-file-load'; import onNewComments from '../libs/on-new-comments'; @@ -15,7 +16,7 @@ function init(): void { for (const table of tables) { table.classList.add('rgh-softwrapped-code'); - const tabSize = parseInt(table.style.getPropertyValue('--tab-size') || document.documentElement.style.getPropertyValue('tab-size'), 10); + const tabSize = Number.parseInt(table.style.getPropertyValue('--tab-size') || document.documentElement.style.getPropertyValue('tab-size'), 10); for (const line of select.all('.blob-code-inner:not(.blob-code-hunk)', table)) { if (line.textContent!.length < 20) { diff --git a/source/features/infinite-scroll.tsx b/source/features/infinite-scroll.tsx index 7b58d774..e46b74b1 100644 --- a/source/features/infinite-scroll.tsx +++ b/source/features/infinite-scroll.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import debounce from 'debounce-fn'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; let button: HTMLButtonElement | undefined; diff --git a/source/features/latest-tag-button.tsx b/source/features/latest-tag-button.tsx index 281e8d8c..f196a470 100644 --- a/source/features/latest-tag-button.tsx +++ b/source/features/latest-tag-button.tsx @@ -5,6 +5,7 @@ import select from 'select-dom'; import TagIcon from 'octicon/tag.svg'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; diff --git a/source/features/link-to-file-in-file-history.tsx b/source/features/link-to-file-in-file-history.tsx index f7fe9120..7fba88ec 100644 --- a/source/features/link-to-file-in-file-history.tsx +++ b/source/features/link-to-file-in-file-history.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import FileIcon from 'octicon/file.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {groupSiblings} from '../libs/group-buttons'; diff --git a/source/features/link-to-prior-blame-line.tsx b/source/features/link-to-prior-blame-line.tsx index b15ab005..a3df62fd 100644 --- a/source/features/link-to-prior-blame-line.tsx +++ b/source/features/link-to-prior-blame-line.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/linkify-branch-references.tsx b/source/features/linkify-branch-references.tsx index 2bbdf1c0..626effad 100644 --- a/source/features/linkify-branch-references.tsx +++ b/source/features/linkify-branch-references.tsx @@ -1,9 +1,10 @@ import React from 'dom-chef'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + +import {wrap} from '../libs/dom-utils'; import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; -import {wrap} from '../libs/dom-utils'; async function init(): Promise<void> { const element = await elementReady('.branch-name'); diff --git a/source/features/linkify-code.tsx b/source/features/linkify-code.tsx index e65cb15d..792cefa7 100644 --- a/source/features/linkify-code.tsx +++ b/source/features/linkify-code.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {linkifiedURLClass, linkifyURLs, linkifyIssues} from '../libs/dom-formatters'; diff --git a/source/features/linkify-commit-sha.tsx b/source/features/linkify-commit-sha.tsx index f4d73cd7..2f707b05 100644 --- a/source/features/linkify-commit-sha.tsx +++ b/source/features/linkify-commit-sha.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import {wrap} from '../libs/dom-utils'; import features from '../libs/features'; diff --git a/source/features/linkify-labels-on-dashboard.tsx b/source/features/linkify-labels-on-dashboard.tsx index b8914aa8..8a34c186 100644 --- a/source/features/linkify-labels-on-dashboard.tsx +++ b/source/features/linkify-labels-on-dashboard.tsx @@ -1,8 +1,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import {wrap} from '../libs/dom-utils'; +import features from '../libs/features'; async function init(): Promise<void> { for (const label of select.all('.js-recent-activity-container :not(a) > .IssueLabel')) { diff --git a/source/features/linkify-notification-repository-header.tsx b/source/features/linkify-notification-repository-header.tsx index 21c4885b..c546d30e 100644 --- a/source/features/linkify-notification-repository-header.tsx +++ b/source/features/linkify-notification-repository-header.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/linkify-symbolic-links.tsx b/source/features/linkify-symbolic-links.tsx index 6bf38163..f6e42a03 100644 --- a/source/features/linkify-symbolic-links.tsx +++ b/source/features/linkify-symbolic-links.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import {wrap} from '../libs/dom-utils'; import features from '../libs/features'; diff --git a/source/features/linkify-user-location.tsx b/source/features/linkify-user-location.tsx index 87a7317f..6d07eeb1 100644 --- a/source/features/linkify-user-location.tsx +++ b/source/features/linkify-user-location.tsx @@ -1,7 +1,8 @@ import React from 'dom-chef'; import select from 'select-dom'; -import {wrap, isEditable} from '../libs/dom-utils'; + import features from '../libs/features'; +import {wrap, isEditable} from '../libs/dom-utils'; function addLocation(baseElement: HTMLElement): void { for (const {nextElementSibling, nextSibling} of select.all('.octicon-location', baseElement)) { diff --git a/source/features/list-prs-for-file.tsx b/source/features/list-prs-for-file.tsx index 085a75b8..da6257f3 100644 --- a/source/features/list-prs-for-file.tsx +++ b/source/features/list-prs-for-file.tsx @@ -1,12 +1,13 @@ import React from 'dom-chef'; -import select from 'select-dom'; import cache from 'webext-storage-cache'; +import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; import PullRequestIcon from 'octicon/git-pull-request.svg'; + import * as api from '../libs/api'; import features from '../libs/features'; -import {getRepoURL, getRepoGQL} from '../libs/utils'; import getDefaultBranch from '../libs/get-default-branch'; +import {getRepoURL, getRepoGQL} from '../libs/utils'; function getPRUrl(prNumber: number): string { return `/${getRepoURL()}/pull/${prNumber}/files`; diff --git a/source/features/mark-merge-commits-in-list.tsx b/source/features/mark-merge-commits-in-list.tsx index 896b3510..6278ea98 100644 --- a/source/features/mark-merge-commits-in-list.tsx +++ b/source/features/mark-merge-commits-in-list.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; import PullRequestIcon from 'octicon/git-pull-request.svg'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getRepoGQL} from '../libs/utils'; diff --git a/source/features/mark-private-orgs.tsx b/source/features/mark-private-orgs.tsx index 37c01c98..0991e444 100644 --- a/source/features/mark-private-orgs.tsx +++ b/source/features/mark-private-orgs.tsx @@ -4,9 +4,10 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import EyeClosedIcon from 'octicon/eye-closed.svg'; import * as pageDetect from 'github-url-detection'; -import {getUsername} from '../libs/utils'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; +import {getUsername} from '../libs/utils'; const getPublicOrganizationsNames = cache.function(async (username: string): Promise<string[]> => { // API v4 seems to *require* `org:read` permission AND it includes private organizations as well, which defeats the purpose. There's no way to filter them. diff --git a/source/features/minimize-upload-bar.tsx b/source/features/minimize-upload-bar.tsx index 1a7b777b..6cdc003a 100644 --- a/source/features/minimize-upload-bar.tsx +++ b/source/features/minimize-upload-bar.tsx @@ -1,9 +1,10 @@ import './minimize-upload-bar.css'; import React from 'dom-chef'; import select from 'select-dom'; -import CloudUploadIcon from 'octicon/cloud-upload.svg'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; +import CloudUploadIcon from 'octicon/cloud-upload.svg'; + import features from '../libs/features'; function addButton(): void { diff --git a/source/features/more-dropdown.tsx b/source/features/more-dropdown.tsx index 94315cd6..fbeb7116 100644 --- a/source/features/more-dropdown.tsx +++ b/source/features/more-dropdown.tsx @@ -10,8 +10,8 @@ import HistoryIcon from 'octicon/history.svg'; import PackageIcon from 'octicon/package.svg'; import features from '../libs/features'; -import {getRepoURL, getReference} from '../libs/utils'; import {appendBefore} from '../libs/dom-utils'; +import {getRepoURL, getReference} from '../libs/utils'; const repoUrl = getRepoURL(); diff --git a/source/features/navigate-pages-with-arrow-keys.tsx b/source/features/navigate-pages-with-arrow-keys.tsx index 7f0a06f4..9d02397e 100644 --- a/source/features/navigate-pages-with-arrow-keys.tsx +++ b/source/features/navigate-pages-with-arrow-keys.tsx @@ -1,4 +1,5 @@ import select from 'select-dom'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/one-key-formatting.tsx b/source/features/one-key-formatting.tsx index 2f789d2d..e5f231e2 100644 --- a/source/features/one-key-formatting.tsx +++ b/source/features/one-key-formatting.tsx @@ -1,5 +1,6 @@ import delegate from 'delegate-it'; import * as textFieldEdit from 'text-field-edit'; + import features from '../libs/features'; import {listenToCommentFields} from './comment-fields-keyboard-shortcuts'; diff --git a/source/features/open-all-notifications.tsx b/source/features/open-all-notifications.tsx index 26089f50..f27e00a8 100644 --- a/source/features/open-all-notifications.tsx +++ b/source/features/open-all-notifications.tsx @@ -1,9 +1,10 @@ import './open-all-notifications.css'; import React from 'dom-chef'; import select from 'select-dom'; -import LinkExternalIcon from 'octicon/link-external.svg'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; +import LinkExternalIcon from 'octicon/link-external.svg'; + import features from '../libs/features'; const confirmationRequiredCount = 10; diff --git a/source/features/open-ci-details-in-new-tab.tsx b/source/features/open-ci-details-in-new-tab.tsx index 2cdad6f6..8b96243e 100644 --- a/source/features/open-ci-details-in-new-tab.tsx +++ b/source/features/open-ci-details-in-new-tab.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/open-issue-to-latest-comment.tsx b/source/features/open-issue-to-latest-comment.tsx index 65a9eff4..6ef631fb 100644 --- a/source/features/open-issue-to-latest-comment.tsx +++ b/source/features/open-issue-to-latest-comment.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/parse-backticks.tsx b/source/features/parse-backticks.tsx index 7cd3deaa..5a56fff0 100644 --- a/source/features/parse-backticks.tsx +++ b/source/features/parse-backticks.tsx @@ -1,6 +1,7 @@ import './parse-backticks.css'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {parseBackticks} from '../libs/dom-formatters'; diff --git a/source/features/patch-diff-links.tsx b/source/features/patch-diff-links.tsx index 4771be49..eb4aca1d 100644 --- a/source/features/patch-diff-links.tsx +++ b/source/features/patch-diff-links.tsx @@ -2,6 +2,7 @@ import './patch-diff-links.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/pinned-issues-update-time.tsx b/source/features/pinned-issues-update-time.tsx index ca756d01..e4074b5f 100644 --- a/source/features/pinned-issues-update-time.tsx +++ b/source/features/pinned-issues-update-time.tsx @@ -3,6 +3,7 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import ClockIcon from 'octicon/clock.svg'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getRepoGQL, getRepoURL, looseParseInt} from '../libs/utils'; diff --git a/source/features/pr-branch-auto-delete.tsx b/source/features/pr-branch-auto-delete.tsx index fc16c7b3..6fbb2d47 100644 --- a/source/features/pr-branch-auto-delete.tsx +++ b/source/features/pr-branch-auto-delete.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; diff --git a/source/features/pr-branches.tsx b/source/features/pr-branches.tsx index 462fe653..3b59733e 100644 --- a/source/features/pr-branches.tsx +++ b/source/features/pr-branches.tsx @@ -2,8 +2,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; import PullRequestIcon from 'octicon/git-pull-request.svg'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import getDefaultBranch from '../libs/get-default-branch'; import {getOwnerAndRepo, getRepoGQL} from '../libs/utils'; diff --git a/source/features/pr-commit-lines-changed.tsx b/source/features/pr-commit-lines-changed.tsx index b399afc6..42d38d93 100644 --- a/source/features/pr-commit-lines-changed.tsx +++ b/source/features/pr-commit-lines-changed.tsx @@ -3,6 +3,7 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getRepoGQL, pluralize} from '../libs/utils'; diff --git a/source/features/pr-filters.tsx b/source/features/pr-filters.tsx index 8def9604..68b15ed8 100644 --- a/source/features/pr-filters.tsx +++ b/source/features/pr-filters.tsx @@ -5,8 +5,9 @@ import cache from 'webext-storage-cache'; import CheckIcon from 'octicon/check.svg'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import {getRepoGQL, getRepoURL} from '../libs/utils'; const reviewsFilterSelector = '#reviews-select-menu'; diff --git a/source/features/preserve-file-finder-term.tsx b/source/features/preserve-file-finder-term.tsx index 0d583c8d..be6a85fb 100644 --- a/source/features/preserve-file-finder-term.tsx +++ b/source/features/preserve-file-finder-term.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function unloadHandler(): void { diff --git a/source/features/preserve-whitespace-option-in-nav.tsx b/source/features/preserve-whitespace-option-in-nav.tsx index c224e7fd..0f408d42 100644 --- a/source/features/preserve-whitespace-option-in-nav.tsx +++ b/source/features/preserve-whitespace-option-in-nav.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): false | void { diff --git a/source/features/preview-hidden-comments.tsx b/source/features/preview-hidden-comments.tsx index 441aacd9..c16a8b4e 100644 --- a/source/features/preview-hidden-comments.tsx +++ b/source/features/preview-hidden-comments.tsx @@ -2,6 +2,7 @@ import './preview-hidden-comments.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const allowedReasons = ['resolved', 'outdated', 'off-topic']; diff --git a/source/features/previous-next-commit-buttons.tsx b/source/features/previous-next-commit-buttons.tsx index b78fb3a6..30524f58 100644 --- a/source/features/previous-next-commit-buttons.tsx +++ b/source/features/previous-next-commit-buttons.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): false | void { diff --git a/source/features/profile-gists-link.tsx b/source/features/profile-gists-link.tsx index 5f124862..bf2c29aa 100644 --- a/source/features/profile-gists-link.tsx +++ b/source/features/profile-gists-link.tsx @@ -4,6 +4,7 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getCleanPathname} from '../libs/utils'; diff --git a/source/features/profile-hotkey.tsx b/source/features/profile-hotkey.tsx index 2f527d9e..0eb8cf69 100644 --- a/source/features/profile-hotkey.tsx +++ b/source/features/profile-hotkey.tsx @@ -1,4 +1,5 @@ import select from 'select-dom'; + import features from '../libs/features'; import {getUsername} from '../libs/utils'; diff --git a/source/features/pull-request-hotkey.tsx b/source/features/pull-request-hotkey.tsx index 850dbc9d..d7e9d246 100644 --- a/source/features/pull-request-hotkey.tsx +++ b/source/features/pull-request-hotkey.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/quick-mention.tsx b/source/features/quick-mention.tsx index 0d1c2340..1cf79517 100644 --- a/source/features/quick-mention.tsx +++ b/source/features/quick-mention.tsx @@ -5,6 +5,7 @@ import delegate from 'delegate-it'; import ReplyIcon from 'octicon/reply.svg'; import * as pageDetect from 'github-url-detection'; import * as textFieldEdit from 'text-field-edit'; + import features from '../libs/features'; import {getUsername} from '../libs/utils'; import onNewComments from '../libs/on-new-comments'; diff --git a/source/features/quick-review-buttons.tsx b/source/features/quick-review-buttons.tsx index 033b8fc9..83dece99 100644 --- a/source/features/quick-review-buttons.tsx +++ b/source/features/quick-review-buttons.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): false | void { diff --git a/source/features/raw-file-link.tsx b/source/features/raw-file-link.tsx index 037c5b9f..560b6e0e 100644 --- a/source/features/raw-file-link.tsx +++ b/source/features/raw-file-link.tsx @@ -2,6 +2,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function handleMenuOpening(event: delegate.Event): void { diff --git a/source/features/reactions-avatars.tsx b/source/features/reactions-avatars.tsx index 4cfeeb48..349a4144 100644 --- a/source/features/reactions-avatars.tsx +++ b/source/features/reactions-avatars.tsx @@ -2,9 +2,10 @@ import './reactions-avatars.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; -import {getUsername, flatZip, isFirefox} from '../libs/utils'; import onReplacedElement from '../libs/on-replaced-element'; +import {getUsername, flatZip, isFirefox} from '../libs/utils'; const arbitraryAvatarLimit = 36; const approximateHeaderLength = 3; // Each button header takes about as much as 3 avatars diff --git a/source/features/recently-pushed-branches-enhancements.tsx b/source/features/recently-pushed-branches-enhancements.tsx index 4bfaa9a9..2082ba9d 100644 --- a/source/features/recently-pushed-branches-enhancements.tsx +++ b/source/features/recently-pushed-branches-enhancements.tsx @@ -2,6 +2,7 @@ import './recently-pushed-branches-enhancements.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; diff --git a/source/features/release-download-count.tsx b/source/features/release-download-count.tsx index a2d454ff..22749091 100644 --- a/source/features/release-download-count.tsx +++ b/source/features/release-download-count.tsx @@ -3,8 +3,9 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; import CloudDownloadIcon from 'octicon/cloud-download.svg'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import {getRepoGQL} from '../libs/utils'; interface Asset { diff --git a/source/features/releases-tab.tsx b/source/features/releases-tab.tsx index c68981f9..62ded936 100644 --- a/source/features/releases-tab.tsx +++ b/source/features/releases-tab.tsx @@ -1,9 +1,10 @@ -import cache from 'webext-storage-cache'; import React from 'dom-chef'; +import cache from 'webext-storage-cache'; import select from 'select-dom'; -import elementReady from 'element-ready'; import TagIcon from 'octicon/tag.svg'; +import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import * as api from '../libs/api'; import {appendBefore} from '../libs/dom-utils'; diff --git a/source/features/reload-failed-proxied-images.tsx b/source/features/reload-failed-proxied-images.tsx index 1560edf5..7b340e38 100644 --- a/source/features/reload-failed-proxied-images.tsx +++ b/source/features/reload-failed-proxied-images.tsx @@ -1,6 +1,7 @@ import delay from 'delay'; import delegate from 'delegate-it'; import loadImage from 'image-promise'; + import features from '../libs/features'; async function handleErroredImage({delegateTarget}: delegate.Event<ErrorEvent, HTMLImageElement>): Promise<void> { diff --git a/source/features/remove-checks-tab.tsx b/source/features/remove-checks-tab.tsx index f35224aa..ab857d69 100644 --- a/source/features/remove-checks-tab.tsx +++ b/source/features/remove-checks-tab.tsx @@ -4,6 +4,7 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): false | void { diff --git a/source/features/remove-projects-tab.tsx b/source/features/remove-projects-tab.tsx index 94179707..7102e46d 100644 --- a/source/features/remove-projects-tab.tsx +++ b/source/features/remove-projects-tab.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import onetime from 'onetime'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const addNewProjectLink = onetime(() => { diff --git a/source/features/remove-upload-files-button.tsx b/source/features/remove-upload-files-button.tsx index aac65a97..a1aa5deb 100644 --- a/source/features/remove-upload-files-button.tsx +++ b/source/features/remove-upload-files-button.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; diff --git a/source/features/repo-age.tsx b/source/features/repo-age.tsx index 3cd5092d..a6791c19 100644 --- a/source/features/repo-age.tsx +++ b/source/features/repo-age.tsx @@ -1,10 +1,11 @@ import twas from 'twas'; -import React from 'dom-chef'; import cache from 'webext-storage-cache'; +import React from 'dom-chef'; import select from 'select-dom'; import RepoIcon from 'octicon/repo.svg'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; import {getRepoURL, looseParseInt} from '../libs/utils'; diff --git a/source/features/repo-wide-file-finder.tsx b/source/features/repo-wide-file-finder.tsx index f1fe5a9a..f29ebe06 100644 --- a/source/features/repo-wide-file-finder.tsx +++ b/source/features/repo-wide-file-finder.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; import getDefaultBranch from '../libs/get-default-branch'; diff --git a/source/features/resolve-conflicts.tsx b/source/features/resolve-conflicts.tsx index 4b08a052..b3751895 100644 --- a/source/features/resolve-conflicts.tsx +++ b/source/features/resolve-conflicts.tsx @@ -2,6 +2,7 @@ import './resolve-conflicts.css'; import React from 'dom-chef'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; async function init(): Promise<void> { diff --git a/source/features/revert-file.tsx b/source/features/revert-file.tsx index 4423dcd1..f2e4ef94 100644 --- a/source/features/revert-file.tsx +++ b/source/features/revert-file.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import onetime from 'onetime'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; diff --git a/source/features/selection-in-new-tab.tsx b/source/features/selection-in-new-tab.tsx index 34028232..4daccf92 100644 --- a/source/features/selection-in-new-tab.tsx +++ b/source/features/selection-in-new-tab.tsx @@ -1,4 +1,5 @@ import select from 'select-dom'; + import features from '../libs/features'; import {isEditable} from '../libs/dom-utils'; diff --git a/source/features/separate-draft-pr-button.tsx b/source/features/separate-draft-pr-button.tsx index c5cc79ac..b8fc594f 100644 --- a/source/features/separate-draft-pr-button.tsx +++ b/source/features/separate-draft-pr-button.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void | false { diff --git a/source/features/set-default-repositories-type-to-sources.tsx b/source/features/set-default-repositories-type-to-sources.tsx index 214f68e9..046d12c2 100644 --- a/source/features/set-default-repositories-type-to-sources.tsx +++ b/source/features/set-default-repositories-type-to-sources.tsx @@ -1,4 +1,5 @@ import select from 'select-dom'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/shorten-links.tsx b/source/features/shorten-links.tsx index 44a67404..bed088ed 100644 --- a/source/features/shorten-links.tsx +++ b/source/features/shorten-links.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import {applyToLink} from 'shorten-repo-url'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {linkifiedURLClass} from '../libs/dom-formatters'; diff --git a/source/features/show-followers-you-know.tsx b/source/features/show-followers-you-know.tsx index c5f031e6..489da4b4 100644 --- a/source/features/show-followers-you-know.tsx +++ b/source/features/show-followers-you-know.tsx @@ -1,9 +1,10 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; -import {getCleanPathname} from '../libs/utils'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; +import {getCleanPathname} from '../libs/utils'; const fetchStargazers = async (): Promise<HTMLImageElement[]> => { const url = `/${getCleanPathname()}/followers/you_know`; diff --git a/source/features/show-names.tsx b/source/features/show-names.tsx index 270d9ce6..ea20fdfe 100644 --- a/source/features/show-names.tsx +++ b/source/features/show-names.tsx @@ -2,6 +2,7 @@ import './show-names.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getUsername, compareNames} from '../libs/utils'; diff --git a/source/features/show-open-prs-of-forks.tsx b/source/features/show-open-prs-of-forks.tsx index beb0d466..0b2a91a7 100644 --- a/source/features/show-open-prs-of-forks.tsx +++ b/source/features/show-open-prs-of-forks.tsx @@ -3,6 +3,7 @@ import cache from 'webext-storage-cache'; import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getForkedRepo, getUsername, pluralize} from '../libs/utils'; diff --git a/source/features/show-user-top-repositories.tsx b/source/features/show-user-top-repositories.tsx index 5a71bf1e..1a625e8f 100644 --- a/source/features/show-user-top-repositories.tsx +++ b/source/features/show-user-top-repositories.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getCleanPathname} from '../libs/utils'; diff --git a/source/features/show-whitespace.tsx b/source/features/show-whitespace.tsx index 56ca145b..2be1960b 100644 --- a/source/features/show-whitespace.tsx +++ b/source/features/show-whitespace.tsx @@ -2,6 +2,7 @@ import './show-whitespace.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import getTextNodes from '../libs/get-text-nodes'; import onPrFileLoad from '../libs/on-pr-file-load'; diff --git a/source/features/sort-issues-by-update-time.tsx b/source/features/sort-issues-by-update-time.tsx index 4e6117c5..a3294cb9 100644 --- a/source/features/sort-issues-by-update-time.tsx +++ b/source/features/sort-issues-by-update-time.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import SearchQuery from '../libs/search-query'; diff --git a/source/features/sort-milestones-by-closest-due-date.tsx b/source/features/sort-milestones-by-closest-due-date.tsx index a935368c..45f01b43 100644 --- a/source/features/sort-milestones-by-closest-due-date.tsx +++ b/source/features/sort-milestones-by-closest-due-date.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/split-issue-pr-search-results.tsx b/source/features/split-issue-pr-search-results.tsx index 84b29f31..412247dc 100644 --- a/source/features/split-issue-pr-search-results.tsx +++ b/source/features/split-issue-pr-search-results.tsx @@ -2,6 +2,7 @@ import './split-issue-pr-search-results.css'; import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import SearchQuery from '../libs/search-query'; diff --git a/source/features/star-repo-hotkey.tsx b/source/features/star-repo-hotkey.tsx index f4a33b8b..722f4361 100644 --- a/source/features/star-repo-hotkey.tsx +++ b/source/features/star-repo-hotkey.tsx @@ -1,5 +1,6 @@ import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; function init(): void { diff --git a/source/features/sticky-discussion-sidebar.tsx b/source/features/sticky-discussion-sidebar.tsx index abbf7738..d012babf 100644 --- a/source/features/sticky-discussion-sidebar.tsx +++ b/source/features/sticky-discussion-sidebar.tsx @@ -2,6 +2,7 @@ import './sticky-discussion-sidebar.css'; import select from 'select-dom'; import debounce from 'debounce-fn'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onReplacedElement from '../libs/on-replaced-element'; diff --git a/source/features/stop-redirecting-in-notification-bar.tsx b/source/features/stop-redirecting-in-notification-bar.tsx index a35777f9..98631a13 100644 --- a/source/features/stop-redirecting-in-notification-bar.tsx +++ b/source/features/stop-redirecting-in-notification-bar.tsx @@ -1,4 +1,5 @@ import delegate from 'delegate-it'; + import features from '../libs/features'; const hasNotificationBar = (): boolean => diff --git a/source/features/submit-review-as-single-comment.tsx b/source/features/submit-review-as-single-comment.tsx index ee7865ad..8f31f661 100644 --- a/source/features/submit-review-as-single-comment.tsx +++ b/source/features/submit-review-as-single-comment.tsx @@ -4,10 +4,11 @@ import onetime from 'onetime'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; import * as textFieldEdit from 'text-field-edit'; + import features from '../libs/features'; -import {observeOneMutation} from '../libs/simplified-element-observer'; -import {logError} from '../libs/utils'; import oneEvent from '../libs/one-event'; +import {logError} from '../libs/utils'; +import {observeOneMutation} from '../libs/simplified-element-observer'; const pendingSelector = '.timeline-comment-label.is-pending'; diff --git a/source/features/suggest-commit-title-limit.tsx b/source/features/suggest-commit-title-limit.tsx index 469dced3..4253f074 100644 --- a/source/features/suggest-commit-title-limit.tsx +++ b/source/features/suggest-commit-title-limit.tsx @@ -2,6 +2,7 @@ import './suggest-commit-title-limit.css'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import onPrMergePanelOpen from '../libs/on-pr-merge-panel-open'; diff --git a/source/features/swap-branches-on-compare.tsx b/source/features/swap-branches-on-compare.tsx index c6851ce1..69462b20 100644 --- a/source/features/swap-branches-on-compare.tsx +++ b/source/features/swap-branches-on-compare.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import {wrap} from '../libs/dom-utils'; import features from '../libs/features'; import {getRepoPath, getRepoURL} from '../libs/utils'; diff --git a/source/features/sync-pr-commit-title.tsx b/source/features/sync-pr-commit-title.tsx index e2341122..38d98ce9 100644 --- a/source/features/sync-pr-commit-title.tsx +++ b/source/features/sync-pr-commit-title.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as textFieldEdit from 'text-field-edit'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {logError} from '../libs/utils'; import onPrMergePanelOpen from '../libs/on-pr-merge-panel-open'; diff --git a/source/features/tab-to-indent.tsx b/source/features/tab-to-indent.tsx index fc552b76..b726d98d 100644 --- a/source/features/tab-to-indent.tsx +++ b/source/features/tab-to-indent.tsx @@ -1,4 +1,5 @@ import {eventHandler} from 'indent-textarea'; + import features from '../libs/features'; import {listenToCommentFields} from './comment-fields-keyboard-shortcuts'; diff --git a/source/features/tag-changelog-link.tsx b/source/features/tag-changelog-link.tsx index 1bff0b9f..f5ac35a1 100644 --- a/source/features/tag-changelog-link.tsx +++ b/source/features/tag-changelog-link.tsx @@ -3,6 +3,7 @@ import select from 'select-dom'; import DiffIcon from 'octicon/diff.svg'; import * as pageDetect from 'github-url-detection'; import tinyVersionCompare from 'tiny-version-compare'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; import {getRepoPath, getRepoURL, parseTag} from '../libs/utils'; diff --git a/source/features/tags-dropdown.tsx b/source/features/tags-dropdown.tsx index e3724af0..0fb3673c 100644 --- a/source/features/tags-dropdown.tsx +++ b/source/features/tags-dropdown.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import OctofaceIcon from 'octicon/octoface.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getRepoURL} from '../libs/utils'; diff --git a/source/features/toggle-everything-with-alt.tsx b/source/features/toggle-everything-with-alt.tsx index 2eaa63ea..1cab010b 100644 --- a/source/features/toggle-everything-with-alt.tsx +++ b/source/features/toggle-everything-with-alt.tsx @@ -2,6 +2,7 @@ import mem from 'mem'; import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import anchorScroll from '../libs/anchor-scroll'; diff --git a/source/features/toggle-files-button.tsx b/source/features/toggle-files-button.tsx index e1133640..e20f718a 100644 --- a/source/features/toggle-files-button.tsx +++ b/source/features/toggle-files-button.tsx @@ -4,6 +4,7 @@ import select from 'select-dom'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; import ChevronDownIcon from 'octicon/chevron-down.svg'; + import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; diff --git a/source/features/trending-menu-item.tsx b/source/features/trending-menu-item.tsx index 83f43307..887d2b9c 100644 --- a/source/features/trending-menu-item.tsx +++ b/source/features/trending-menu-item.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; async function init(): Promise<false | void> { diff --git a/source/features/unwrap-useless-dropdowns.tsx b/source/features/unwrap-useless-dropdowns.tsx index a429c14e..3bd1bf52 100644 --- a/source/features/unwrap-useless-dropdowns.tsx +++ b/source/features/unwrap-useless-dropdowns.tsx @@ -1,6 +1,7 @@ import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; // Replace dropdown while keeping its sizing/positioning classes diff --git a/source/features/update-pr-from-base-branch.tsx b/source/features/update-pr-from-base-branch.tsx index 945c962c..3148e9a0 100644 --- a/source/features/update-pr-from-base-branch.tsx +++ b/source/features/update-pr-from-base-branch.tsx @@ -1,10 +1,11 @@ import React from 'dom-chef'; import select from 'select-dom'; -import AlertIcon from 'octicon/alert.svg'; import delegate from 'delegate-it'; +import AlertIcon from 'octicon/alert.svg'; import * as pageDetect from 'github-url-detection'; -import features from '../libs/features'; + import * as api from '../libs/api'; +import features from '../libs/features'; import observeElement from '../libs/simplified-element-observer'; import {getRepoURL, getDiscussionNumber} from '../libs/utils'; @@ -17,7 +18,7 @@ function getBranches(): {base: string; head: string} { }; } -export async function mergeBranches(): Promise<AnyObject> { +async function mergeBranches(): Promise<AnyObject> { return api.v3(`repos/${getRepoURL()}/pulls/${getDiscussionNumber()!}/update-branch`, { method: 'PUT', headers: { diff --git a/source/features/useful-not-found-page.tsx b/source/features/useful-not-found-page.tsx index 711f2954..66d0a264 100644 --- a/source/features/useful-not-found-page.tsx +++ b/source/features/useful-not-found-page.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import {getCleanPathname} from '../libs/utils'; import getDefaultBranch from '../libs/get-default-branch'; diff --git a/source/features/user-local-time.tsx b/source/features/user-local-time.tsx index 3e9eec49..d31389d2 100644 --- a/source/features/user-local-time.tsx +++ b/source/features/user-local-time.tsx @@ -1,13 +1,14 @@ /* eslint-disable no-await-in-loop */ -import cache from 'webext-storage-cache'; import React from 'dom-chef'; +import cache from 'webext-storage-cache'; import select from 'select-dom'; import ClockIcon from 'octicon/clock.svg'; -import features from '../libs/features'; + import * as api from '../libs/api'; -import observeElement from '../libs/simplified-element-observer'; +import features from '../libs/features'; import {getUsername} from '../libs/utils'; +import observeElement from '../libs/simplified-element-observer'; interface Commit { url: string; @@ -75,8 +76,8 @@ const getLastCommitDate = cache.function(async (login: string): Promise<string | function parseOffset(date: string): number { const [, hourString, minuteString] = (/([-+]\d\d)(\d\d)$/).exec(date) ?? []; - const hours = parseInt(hourString, 10); - const minutes = parseInt(minuteString, 10); + const hours = Number.parseInt(hourString, 10); + const minutes = Number.parseInt(minuteString, 10); return (hours * 60) + (hours < 0 ? -minutes : minutes); } @@ -112,7 +113,7 @@ function init(): void { const diff = hovercard.offsetHeight - hovercardHeight; if (diff > 0) { const parent = hovercard.parentElement!; - const top = parseInt(parent.style.top, 10); + const top = Number.parseInt(parent.style.top, 10); parent.style.top = `${top - diff}px`; } } diff --git a/source/features/user-profile-follower-badge.tsx b/source/features/user-profile-follower-badge.tsx index 89e913f4..35f0cd78 100644 --- a/source/features/user-profile-follower-badge.tsx +++ b/source/features/user-profile-follower-badge.tsx @@ -3,6 +3,7 @@ import React from 'dom-chef'; import cache from 'webext-storage-cache'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import * as api from '../libs/api'; import features from '../libs/features'; import {getUsername, getCleanPathname} from '../libs/utils'; diff --git a/source/features/view-markdown-source.tsx b/source/features/view-markdown-source.tsx index 824b2580..6ade73f5 100644 --- a/source/features/view-markdown-source.tsx +++ b/source/features/view-markdown-source.tsx @@ -5,6 +5,7 @@ import delegate from 'delegate-it'; import CodeIcon from 'octicon/code.svg'; import FileIcon from 'octicon/file.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import fetchDom from '../libs/fetch-dom'; diff --git a/source/features/wait-for-build.tsx b/source/features/wait-for-build.tsx index 234870ce..310590e8 100644 --- a/source/features/wait-for-build.tsx +++ b/source/features/wait-for-build.tsx @@ -2,9 +2,10 @@ import './wait-for-build.css'; import React from 'dom-chef'; import select from 'select-dom'; import onetime from 'onetime'; -import InfoIcon from 'octicon/info.svg'; import delegate from 'delegate-it'; +import InfoIcon from 'octicon/info.svg'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import * as prCiStatus from '../libs/pr-ci-status'; import onPrMergePanelOpen from '../libs/on-pr-merge-panel-open'; diff --git a/source/features/warn-pr-from-master.tsx b/source/features/warn-pr-from-master.tsx index 30a615db..cdb2e212 100644 --- a/source/features/warn-pr-from-master.tsx +++ b/source/features/warn-pr-from-master.tsx @@ -1,6 +1,7 @@ import React from 'dom-chef'; import select from 'select-dom'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; import getDefaultBranch from '../libs/get-default-branch'; diff --git a/source/features/warning-for-disallow-edits.tsx b/source/features/warning-for-disallow-edits.tsx index 3dacfd6e..0c86d307 100644 --- a/source/features/warning-for-disallow-edits.tsx +++ b/source/features/warning-for-disallow-edits.tsx @@ -4,6 +4,7 @@ import select from 'select-dom'; import oneTime from 'onetime'; import delegate from 'delegate-it'; import * as pageDetect from 'github-url-detection'; + import features from '../libs/features'; const getWarning = oneTime(() => ( diff --git a/source/globals.d.ts b/source/globals.d.ts index abd8d34b..f921fa70 100644 --- a/source/globals.d.ts +++ b/source/globals.d.ts @@ -74,10 +74,13 @@ interface HTMLFormControlsCollection { } declare module '*.svg' { - export default (): JSX.Element => JSX.Element; + const Icon = (): JSX.Element => JSX.Element; + export default Icon; } // Make `element.cloneNode()` preserve its type instead of returning Node interface Node extends EventTarget { + // Not equivalent + // eslint-disable-next-line @typescript-eslint/method-signature-style cloneNode(deep?: boolean): this; } diff --git a/source/libs/api.ts b/source/libs/api.ts index f68cbd74..d5db849e 100644 --- a/source/libs/api.ts +++ b/source/libs/api.ts @@ -26,6 +26,7 @@ so the call will not throw an error but it will return as usual. import mem from 'mem'; import {JsonObject, AsyncReturnType} from 'type-fest'; + import optionsStorage from '../options-storage'; type JsonError = { diff --git a/source/libs/dom-formatters.ts b/source/libs/dom-formatters.ts index fd49aac2..9138be26 100644 --- a/source/libs/dom-formatters.ts +++ b/source/libs/dom-formatters.ts @@ -1,6 +1,7 @@ import zipTextNodes from 'zip-text-nodes'; import linkifyURLsCore from 'linkify-urls'; import linkifyIssuesCore from 'linkify-issues'; + import getTextNodes from './get-text-nodes'; import {getOwnerAndRepo} from './utils'; import parseBackticksCore from './parse-backticks'; diff --git a/source/libs/dom-utils.ts b/source/libs/dom-utils.ts index 8d7f0039..0a64bb44 100644 --- a/source/libs/dom-utils.ts +++ b/source/libs/dom-utils.ts @@ -1,4 +1,5 @@ import select from 'select-dom'; + import {getScopedSelector} from './utils'; /** diff --git a/source/libs/features.tsx b/source/libs/features.tsx index 5c98801e..e65b504d 100644 --- a/source/libs/features.tsx +++ b/source/libs/features.tsx @@ -4,10 +4,11 @@ import domLoaded from 'dom-loaded'; import {Promisable} from 'type-fest'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; + +import optionsStorage, {RGHOptions} from '../options-storage'; import {logError} from './utils'; import onNewComments from './on-new-comments'; import onNewsfeedLoad from './on-newsfeed-load'; -import optionsStorage, {RGHOptions} from '../options-storage'; type BooleanFunction = () => boolean; type CallerFunction = (callback: VoidFunction) => void; @@ -232,7 +233,9 @@ add(undefined, { } }); -export default { +const features = { add, getShortcuts }; + +export default features; diff --git a/source/libs/get-default-branch.ts b/source/libs/get-default-branch.ts index 538a28bd..e5ddbaad 100644 --- a/source/libs/get-default-branch.ts +++ b/source/libs/get-default-branch.ts @@ -1,5 +1,6 @@ import select from 'select-dom'; import cache from 'webext-storage-cache'; + import * as api from './api'; import {getRepoURL, getRepoGQL} from './utils'; diff --git a/source/libs/get-text-nodes.ts b/source/libs/get-text-nodes.ts index 02803cd5..a34ddda8 100644 --- a/source/libs/get-text-nodes.ts +++ b/source/libs/get-text-nodes.ts @@ -1,4 +1,4 @@ -export default (element: Node): Text[] => { +export default function getTextNodes(element: Node): Text[] { const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT); const nodes: Text[] = []; let node; @@ -11,4 +11,4 @@ export default (element: Node): Text[] => { } while (node); return nodes; -}; +} diff --git a/source/libs/group-buttons.tsx b/source/libs/group-buttons.tsx index 0b2181ab..c44b33d6 100644 --- a/source/libs/group-buttons.tsx +++ b/source/libs/group-buttons.tsx @@ -1,4 +1,5 @@ import React from 'dom-chef'; + import {wrapAll} from './dom-utils'; // Wrap a list of elements with BtnGroup + ensure each has BtnGroup-item diff --git a/source/libs/on-file-list-update.ts b/source/libs/on-file-list-update.ts index 122090f1..70475328 100644 --- a/source/libs/on-file-list-update.ts +++ b/source/libs/on-file-list-update.ts @@ -1,6 +1,6 @@ import select from 'select-dom'; -export default function (callback: VoidFunction): void { +export default function onFileListUpdate(callback: VoidFunction): void { // Selector copied from https://github.com/sindresorhus/hide-files-on-github const ajaxFiles = select('#files ~ include-fragment[src*="/file-list/"]'); if (ajaxFiles) { diff --git a/source/libs/on-new-comments.ts b/source/libs/on-new-comments.ts index 4220a73c..73cd4ed4 100644 --- a/source/libs/on-new-comments.ts +++ b/source/libs/on-new-comments.ts @@ -51,7 +51,7 @@ function addListeners(): void { delegates.add(delegate(document, 'details.outdated-comment > include-fragment', 'load', run, true)); } -export default function (callback: VoidFunction): void { +export default function onNewComments(callback: VoidFunction): void { addListeners(); handlers.add(callback); } diff --git a/source/libs/on-pr-merge-panel-open.ts b/source/libs/on-pr-merge-panel-open.ts index c6642ffd..038bb8bf 100644 --- a/source/libs/on-pr-merge-panel-open.ts +++ b/source/libs/on-pr-merge-panel-open.ts @@ -13,7 +13,7 @@ const sessionResumeHandler = mem((callback: EventListener) => async (event: Even callback(event); }); -export default function (callback: EventListener): delegate.Subscription { +export default function onPrMergePanelOpen(callback: EventListener): delegate.Subscription { document.addEventListener( 'session:resume', sessionResumeHandler(callback) diff --git a/source/libs/on-replaced-element.ts b/source/libs/on-replaced-element.ts index d26f551e..3ef75caf 100644 --- a/source/libs/on-replaced-element.ts +++ b/source/libs/on-replaced-element.ts @@ -1,4 +1,5 @@ import select from 'select-dom'; + import onElementRemoval from './on-element-removal'; /** diff --git a/source/libs/pr-ci-status.ts b/source/libs/pr-ci-status.ts index 982c8df2..70617d6d 100644 --- a/source/libs/pr-ci-status.ts +++ b/source/libs/pr-ci-status.ts @@ -1,4 +1,5 @@ import select from 'select-dom'; + import observeElement from './simplified-element-observer'; type CommitStatus = false | typeof SUCCESS | typeof FAILURE | typeof PENDING | typeof COMMIT_CHANGED; diff --git a/source/options.tsx b/source/options.tsx index 903d9085..bba5f1ba 100644 --- a/source/options.tsx +++ b/source/options.tsx @@ -6,6 +6,7 @@ import select from 'select-dom'; import fitTextarea from 'fit-textarea'; import {applyToLink} from 'shorten-repo-url'; import * as indentTextarea from 'indent-textarea'; + import {getAllOptions} from './options-storage'; import * as domFormatters from './libs/dom-formatters'; diff --git a/source/resolve-conflicts.ts b/source/resolve-conflicts.ts index 40303ebd..267b0236 100644 --- a/source/resolve-conflicts.ts +++ b/source/resolve-conflicts.ts @@ -3,7 +3,7 @@ declare namespace CodeMirror { interface LineHandle { widgets: unknown[]; - lineNo(): number; + lineNo: () => number; } } diff --git a/test/search-query.ts b/test/search-query.ts index b576c004..5f6b842b 100644 --- a/test/search-query.ts +++ b/test/search-query.ts @@ -1,4 +1,5 @@ import test from 'ava'; + import './fixtures/globals'; import SearchQuery from '../source/libs/search-query'; diff --git a/test/utils.ts b/test/utils.ts index 55151379..e137f3ac 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -1,4 +1,5 @@ import test from 'ava'; + import './fixtures/globals'; import { getDiscussionNumber, diff --git a/webpack.config.ts b/webpack.config.ts index a4c96ae8..36e60718 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,8 +1,9 @@ /// <reference types="./source/globals" /> import path from 'path'; -import stripIndent from 'strip-indent'; import {readdirSync, readFileSync} from 'fs'; + +import stripIndent from 'strip-indent'; import webpack, {Configuration} from 'webpack'; import SizePlugin from 'size-plugin'; import TerserPlugin from 'terser-webpack-plugin'; @@ -99,10 +100,10 @@ const config: Configuration = { new webpack.DefinePlugin({ // Passing `true` as the second argument makes these values dynamic — so every file change will update their value. __featuresOptionDefaults__: webpack.DefinePlugin.runtimeValue(() => { - return JSON.stringify(getFeatures().reduce((defaults, feature) => { + return JSON.stringify(getFeatures().reduce<AnyObject>((defaults, feature) => { defaults[`feature:${feature}`] = true; return defaults; - }, {} as AnyObject)); + }, {})); // TODO: unignore after https://github.com/DefinitelyTyped/DefinitelyTyped/pull/42036 // @ts-ignore }, true), |