diff options
author | 2021-04-08 22:10:15 -0400 | |
---|---|---|
committer | 2021-04-08 22:10:15 -0400 | |
commit | 4ff98524e61389fb7628e5816bfcdaac4e0f0cc6 (patch) | |
tree | dacd4f21ea7286723530350d38cfe27bb846a568 | |
parent | 8eaad7215a10ab2ffc18bcbf3759a83eb01a49aa (diff) | |
download | refined-github-4ff98524e61389fb7628e5816bfcdaac4e0f0cc6.tar.gz refined-github-4ff98524e61389fb7628e5816bfcdaac4e0f0cc6.tar.zst refined-github-4ff98524e61389fb7628e5816bfcdaac4e0f0cc6.zip |
Lint (#4207)
-rw-r--r-- | contributing.md | 2 | ||||
-rw-r--r-- | distribution/options.html | 4 | ||||
-rw-r--r-- | package-lock.json | 378 | ||||
-rw-r--r-- | package.json | 26 | ||||
-rw-r--r-- | source/background.ts | 2 | ||||
-rw-r--r-- | source/features/collapse-markdown-sections.tsx | 2 | ||||
-rw-r--r-- | source/features/enable-file-links-in-compare-view.tsx | 5 | ||||
-rw-r--r-- | source/features/first-published-tag-for-merged-pr.tsx | 2 | ||||
-rw-r--r-- | source/features/link-to-changelog-file.tsx | 2 | ||||
-rw-r--r-- | source/features/more-dropdown.css | 7 | ||||
-rw-r--r-- | source/features/restore-file.tsx | 2 | ||||
-rw-r--r-- | source/features/safer-destructive-actions.css | 6 | ||||
-rw-r--r-- | source/features/table-input.tsx | 5 | ||||
-rw-r--r-- | source/helpers/fetch-dom.ts | 3 | ||||
-rw-r--r-- | source/options-storage.ts | 3 | ||||
-rw-r--r-- | source/options.tsx | 1 |
16 files changed, 266 insertions, 184 deletions
diff --git a/contributing.md b/contributing.md index 31abcc44..d1af2d27 100644 --- a/contributing.md +++ b/contributing.md @@ -10,7 +10,7 @@ Suggestions and pull requests are highly encouraged! Have a look at the [open is - All the [latest DOM APIs](https://github.com/WebReflection/dom4#features) and JavaScript features are available because the extension only has to work in the latest Chrome and Firefox. 🎉 - Each JavaScript feature lives in its own file under [`source/features`](https://github.com/sindresorhus/refined-github/tree/main/source/features) and it's imported in [`source/refined-github.ts`](https://github.com/sindresorhus/refined-github/blob/main/source/refined-github.ts). - See what a feature [looks like](https://github.com/sindresorhus/refined-github/blob/main/source/features/user-profile-follower-badge.tsx). -- Follow [the styleguide](https://github.com/sindresorhus/refined-github/blob/main/readme.md#L70) that appears in the Readme's source to write readable descriptions. +- Follow [the styleguide](https://github.com/sindresorhus/refined-github/blob/main/readme.md#L80) that appears in the Readme's source to write readable descriptions. - Refined GitHub tries to integrate as best as possible, so [GitHub's own styleguide](https://primer.style/css) might come in useful. ## `features.add` diff --git a/distribution/options.html b/distribution/options.html index bd6c0602..24317960 100644 --- a/distribution/options.html +++ b/distribution/options.html @@ -18,10 +18,8 @@ <span id="validation"></span> </label> </p> - <p> - The token enables <a href="https://github.com/sindresorhus/refined-github/search?q=github-helpers+api" target="_blank">some features</a> to <strong>read</strong> data from public repositories - </p> <ul> + <li data-validation data-scope="valid_token">The token enables <a href="https://github.com/sindresorhus/refined-github/search?q=github-helpers+api" target="_blank">some features</a> to <strong>read</strong> data from public repositories <li data-validation data-scope="public_repo">The <code>public_repo</code> scope lets them <strong>edit</strong> your public repositories <li data-validation data-scope="repo">The <code>repo</code> scope lets them <strong>edit private</strong> repositories as well <li data-validation data-scope="delete_repo">The <code>delete_repo</code> scope is only used by the <code>quick-repo-deletion</code> feature diff --git a/package-lock.json b/package-lock.json index 663c87e6..7879ea6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "dependencies": { "@cheap-glitch/mi-cron": "^1.0.1", - "@primer/octicons-react": "^12.1.0", + "@primer/octicons-react": "^13.0.0", "array-union": "^3.0.1", "copy-text-to-clipboard": "^3.0.1", "debounce-fn": "^5.0.0", @@ -27,10 +27,10 @@ "mem": "^8.1.0", "one-event": "^3.0.0", "one-mutation": "^2.0.0", - "onetime": "^5.1.2", + "onetime": "^6.0.0", "push-form": "^0.8.0", "regex-join": "^1.0.0", - "select-dom": "^7.1.0", + "select-dom": "^7.1.1", "selector-observer": "^2.1.6", "shorten-repo-url": "^2.1.0", "strip-indent": "^3.0.0", @@ -48,37 +48,37 @@ "devDependencies": { "@ava/typescript": "^1.1.1", "@sindresorhus/tsconfig": "^0.9.0", - "@types/chrome": "^0.0.133", + "@types/chrome": "^0.0.134", "@types/codemirror": "^0.0.108", "@types/copy-webpack-plugin": "^6.4.1", "@types/firefox-webext-browser": "^82.0.0", - "@types/jsdom": "^16.2.7", + "@types/jsdom": "^16.2.10", "@types/mini-css-extract-plugin": "^1.4.1", "@types/react": "^17.0.3", "@types/terser-webpack-plugin": "^5.0.3", "ava": "^3.15.0", - "copy-webpack-plugin": "^8.1.0", + "copy-webpack-plugin": "^8.1.1", "css-loader": "^5.2.0", "daily-version": "^2.0.0", "dot-json": "^1.2.2", "esbuild-loader": "^2.11.0", - "eslint-config-xo-react": "^0.24.0", - "eslint-plugin-react": "^7.22.0", + "eslint-config-xo-react": "^0.25.0", + "eslint-plugin-react": "^7.23.2", "eslint-plugin-react-hooks": "^4.2.0", - "jsdom": "^16.5.1", + "jsdom": "^16.5.2", "markdown-wasm": "^1.1.2", - "mini-css-extract-plugin": "^1.4.0", + "mini-css-extract-plugin": "^1.4.1", "npm-run-all": "^4.1.5", "size-plugin": "^2.0.2", "stylelint": "^13.12.0", "stylelint-config-xo": "^0.20.0", "terser-webpack-plugin": "^5.1.1", "ts-node": "^9.1.1", - "tslib": "^2.1.0", + "tslib": "^2.2.0", "type-fest": "^0.21.3", "typed-query-selector": "^2.4.1", - "typescript": "^4.2.3", - "webpack": "^5.30.0", + "typescript": "^4.2.4", + "webpack": "^5.31.0", "webpack-cli": "^4.6.0", "xo": "^0.38.2" }, @@ -661,9 +661,9 @@ } }, "node_modules/@primer/octicons-react": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-12.1.0.tgz", - "integrity": "sha512-eb/5Obsp6/pVkyzzGhobK6aPAkKqx6VleF/7HYeihGTYm3rGZc+prL/jhxD5Mo1P6U343YEkHjc2gKuvtENn1g==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-13.0.0.tgz", + "integrity": "sha512-j5XppNRCvgaMZLPsVvvmp6GSh7P5pq6PUbsfLNBWi2Kz3KYDeoGDWbPr5MjoxFOGUn6Hjnt6qjHPRxahd11vLQ==", "engines": { "node": ">=8" }, @@ -743,9 +743,9 @@ "dev": true }, "node_modules/@types/chrome": { - "version": "0.0.133", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.133.tgz", - "integrity": "sha512-G8uIUdaCTBILprQvQXBWGXZxjAWbkCkFQit17cdH3zYQEwU8f/etNl8+M7e8MRz9Xj8daHaVpysneMZMx8/ldQ==", + "version": "0.0.134", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.134.tgz", + "integrity": "sha512-NlYHk+a0Bq6kTvGT4s2w1G3UuDBeoZJYJL1wzmEIusBKYyDDtdl37kOz3Hzb/NEC2KNdnOBVoYLS2opQYsF1Vw==", "dev": true, "dependencies": { "@types/filesystem": "*", @@ -830,9 +830,9 @@ "integrity": "sha512-IG8AE1m2pWtPqQ7wXhFhy6Q59bwwnLwO36v5Rit2FrbXCIp8Sk8E2PfUCreyrdo17STwFSKDAkitVuVYbpEHvQ==" }, "node_modules/@types/jsdom": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.7.tgz", - "integrity": "sha512-jJ0QDvwZxAO+SninBaQdW6najEs1dCZ1uMsXFBTitwfAtz+0wfDZWd3GFEqkL4flD3IefB+VGBcrN9HbRdAdog==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.10.tgz", + "integrity": "sha512-q3aIjp3ehhVSXSbvNyuireAfvU2umRiZ2aLumyeZewCnoNaokrRDdTu5IvaeE9pzNtWHXrUnM9lb22Vl3W08EA==", "dev": true, "dependencies": { "@types/node": "*", @@ -3170,9 +3170,9 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.0.tgz", - "integrity": "sha512-Soiq8kXI2AZkpw3dSp18u6oU2JonC7UKv3UdXsKOmT1A5QT46ku9+6c0Qy29JDbSavQJNN1/eKGpd3QNw+cZWg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz", + "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==", "dev": true, "dependencies": { "fast-glob": "^3.2.5", @@ -4387,9 +4387,9 @@ } }, "node_modules/eslint-config-xo-react": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-react/-/eslint-config-xo-react-0.24.0.tgz", - "integrity": "sha512-Hc6pHDJf8y71Uo1jwWJ85CaFGTPxHp26L+49H5jgALB1rTmmxMUA70sDv6qj3icPgSWbkiOvuHM6tis+ws3stQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/eslint-config-xo-react/-/eslint-config-xo-react-0.25.0.tgz", + "integrity": "sha512-YpABFxnoATAYtxsZQChZEbOkWqzCtcQDRdiUqHhLgG7hzbAEzPDmsRUWnTP8oTVLVFWrbgdf913b8kQJaR1cBA==", "dev": true, "engines": { "node": ">=10" @@ -4984,22 +4984,23 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz", - "integrity": "sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", "has": "^1.0.3", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.3", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.3", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.4" }, "engines": { "node": ">=4" @@ -5032,6 +5033,19 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-plugin-unicorn": { "version": "28.0.2", "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-28.0.2.tgz", @@ -5298,6 +5312,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/execa/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/execall": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", @@ -7333,13 +7371,13 @@ "dev": true }, "node_modules/jsdom": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.1.tgz", - "integrity": "sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", + "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", "dev": true, "dependencies": { "abab": "^2.0.5", - "acorn": "^8.0.5", + "acorn": "^8.1.0", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -7361,7 +7399,7 @@ "webidl-conversions": "^6.1.0", "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", + "whatwg-url": "^8.5.0", "ws": "^7.4.4", "xml-name-validator": "^3.0.0" }, @@ -7661,12 +7699,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -8140,9 +8172,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz", - "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.1.tgz", + "integrity": "sha512-COAGbpAsU0ioFzj+/RRfO5Qv177L1Z/XAx2EmCF33b8GDDqKygMffBTws2lit8iaPdrbKEY5P+zsseBUCREZWQ==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", @@ -8919,25 +8951,28 @@ "integrity": "sha512-uxZBzkaGhKWy9bdj1peVBhgCP4abF1Rss6wIVzBi1VoaTVEMmFc3pp/hhkVKr5VL5SsmLanBy8i2mmTGQreVPQ==" }, "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/open": { @@ -10964,6 +10999,30 @@ "node": ">=8" } }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -11083,11 +11142,11 @@ } }, "node_modules/select-dom": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/select-dom/-/select-dom-7.1.0.tgz", - "integrity": "sha512-o4X3Jnb8CpHNPqLDtwxVLSfnvGOGv0OT/LUq5H2U07eV+bX9yv2FbeJlJZpMf/L9b3mXaTGHdQIKcNNKaqKQgg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/select-dom/-/select-dom-7.1.1.tgz", + "integrity": "sha512-W4052AVb0TkSU8MgiNLiVio4WqCLpDSWPYz5RI6C5MoXfjo6b8p0v/Ld2iK9F/FO2FUqn6N0jFlBGyl2z5dzbA==", "dependencies": { - "typed-query-selector": "^2.2.3" + "typed-query-selector": "^2.4.1" } }, "node_modules/selector-observer": { @@ -13091,9 +13150,9 @@ } }, "node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/tsutils": { @@ -13188,9 +13247,9 @@ } }, "node_modules/typescript": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", - "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -13779,9 +13838,9 @@ } }, "node_modules/webpack": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", - "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.0.tgz", + "integrity": "sha512-3fUfZT/FUuThWSSyL32Fsh7weUUfYP/Fjc/cGSbla5KiSo0GtI1JMssCRUopJTvmLjrw05R2q7rlLtiKdSzkzQ==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -13929,12 +13988,12 @@ "dev": true }, "node_modules/whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", + "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", "dev": true, "dependencies": { - "lodash.sortby": "^4.7.0", + "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" }, @@ -15085,9 +15144,9 @@ } }, "@primer/octicons-react": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-12.1.0.tgz", - "integrity": "sha512-eb/5Obsp6/pVkyzzGhobK6aPAkKqx6VleF/7HYeihGTYm3rGZc+prL/jhxD5Mo1P6U343YEkHjc2gKuvtENn1g==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-13.0.0.tgz", + "integrity": "sha512-j5XppNRCvgaMZLPsVvvmp6GSh7P5pq6PUbsfLNBWi2Kz3KYDeoGDWbPr5MjoxFOGUn6Hjnt6qjHPRxahd11vLQ==", "requires": {} }, "@sindresorhus/is": { @@ -15142,9 +15201,9 @@ "dev": true }, "@types/chrome": { - "version": "0.0.133", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.133.tgz", - "integrity": "sha512-G8uIUdaCTBILprQvQXBWGXZxjAWbkCkFQit17cdH3zYQEwU8f/etNl8+M7e8MRz9Xj8daHaVpysneMZMx8/ldQ==", + "version": "0.0.134", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.134.tgz", + "integrity": "sha512-NlYHk+a0Bq6kTvGT4s2w1G3UuDBeoZJYJL1wzmEIusBKYyDDtdl37kOz3Hzb/NEC2KNdnOBVoYLS2opQYsF1Vw==", "dev": true, "requires": { "@types/filesystem": "*", @@ -15229,9 +15288,9 @@ "integrity": "sha512-IG8AE1m2pWtPqQ7wXhFhy6Q59bwwnLwO36v5Rit2FrbXCIp8Sk8E2PfUCreyrdo17STwFSKDAkitVuVYbpEHvQ==" }, "@types/jsdom": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.7.tgz", - "integrity": "sha512-jJ0QDvwZxAO+SninBaQdW6najEs1dCZ1uMsXFBTitwfAtz+0wfDZWd3GFEqkL4flD3IefB+VGBcrN9HbRdAdog==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.10.tgz", + "integrity": "sha512-q3aIjp3ehhVSXSbvNyuireAfvU2umRiZ2aLumyeZewCnoNaokrRDdTu5IvaeE9pzNtWHXrUnM9lb22Vl3W08EA==", "dev": true, "requires": { "@types/node": "*", @@ -17088,9 +17147,9 @@ "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==" }, "copy-webpack-plugin": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.0.tgz", - "integrity": "sha512-Soiq8kXI2AZkpw3dSp18u6oU2JonC7UKv3UdXsKOmT1A5QT46ku9+6c0Qy29JDbSavQJNN1/eKGpd3QNw+cZWg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz", + "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==", "dev": true, "requires": { "fast-glob": "^3.2.5", @@ -18042,9 +18101,9 @@ } }, "eslint-config-xo-react": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-react/-/eslint-config-xo-react-0.24.0.tgz", - "integrity": "sha512-Hc6pHDJf8y71Uo1jwWJ85CaFGTPxHp26L+49H5jgALB1rTmmxMUA70sDv6qj3icPgSWbkiOvuHM6tis+ws3stQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/eslint-config-xo-react/-/eslint-config-xo-react-0.25.0.tgz", + "integrity": "sha512-YpABFxnoATAYtxsZQChZEbOkWqzCtcQDRdiUqHhLgG7hzbAEzPDmsRUWnTP8oTVLVFWrbgdf913b8kQJaR1cBA==", "dev": true, "requires": {} }, @@ -18491,22 +18550,23 @@ "dev": true }, "eslint-plugin-react": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz", - "integrity": "sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", "has": "^1.0.3", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.3", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.3", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.4" }, "dependencies": { "doctrine": { @@ -18517,6 +18577,16 @@ "requires": { "esutils": "^2.0.2" } + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } } } }, @@ -18721,6 +18791,21 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } } } }, @@ -20233,13 +20318,13 @@ "dev": true }, "jsdom": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.1.tgz", - "integrity": "sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", + "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", "dev": true, "requires": { "abab": "^2.0.5", - "acorn": "^8.0.5", + "acorn": "^8.1.0", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -20261,7 +20346,7 @@ "webidl-conversions": "^6.1.0", "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", + "whatwg-url": "^8.5.0", "ws": "^7.4.4", "xml-name-validator": "^3.0.0" } @@ -20497,12 +20582,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -20851,9 +20930,9 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "mini-css-extract-plugin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz", - "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.1.tgz", + "integrity": "sha512-COAGbpAsU0ioFzj+/RRfO5Qv177L1Z/XAx2EmCF33b8GDDqKygMffBTws2lit8iaPdrbKEY5P+zsseBUCREZWQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -21476,17 +21555,17 @@ "integrity": "sha512-uxZBzkaGhKWy9bdj1peVBhgCP4abF1Rss6wIVzBi1VoaTVEMmFc3pp/hhkVKr5VL5SsmLanBy8i2mmTGQreVPQ==" }, "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" }, "dependencies": { "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" } } }, @@ -22995,6 +23074,23 @@ "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + } } }, "ret": { @@ -23079,11 +23175,11 @@ } }, "select-dom": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/select-dom/-/select-dom-7.1.0.tgz", - "integrity": "sha512-o4X3Jnb8CpHNPqLDtwxVLSfnvGOGv0OT/LUq5H2U07eV+bX9yv2FbeJlJZpMf/L9b3mXaTGHdQIKcNNKaqKQgg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/select-dom/-/select-dom-7.1.1.tgz", + "integrity": "sha512-W4052AVb0TkSU8MgiNLiVio4WqCLpDSWPYz5RI6C5MoXfjo6b8p0v/Ld2iK9F/FO2FUqn6N0jFlBGyl2z5dzbA==", "requires": { - "typed-query-selector": "^2.2.3" + "typed-query-selector": "^2.4.1" } }, "selector-observer": { @@ -24669,9 +24765,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "tsutils": { @@ -24747,9 +24843,9 @@ } }, "typescript": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", - "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true }, "unbox-primitive": { @@ -25255,9 +25351,9 @@ "dev": true }, "webpack": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", - "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.0.tgz", + "integrity": "sha512-3fUfZT/FUuThWSSyL32Fsh7weUUfYP/Fjc/cGSbla5KiSo0GtI1JMssCRUopJTvmLjrw05R2q7rlLtiKdSzkzQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -25357,12 +25453,12 @@ "dev": true }, "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", + "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", + "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" } diff --git a/package.json b/package.json index 29874b88..e1666c29 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@cheap-glitch/mi-cron": "^1.0.1", - "@primer/octicons-react": "^12.1.0", + "@primer/octicons-react": "^13.0.0", "array-union": "^3.0.1", "copy-text-to-clipboard": "^3.0.1", "debounce-fn": "^5.0.0", @@ -69,10 +69,10 @@ "mem": "^8.1.0", "one-event": "^3.0.0", "one-mutation": "^2.0.0", - "onetime": "^5.1.2", + "onetime": "^6.0.0", "push-form": "^0.8.0", "regex-join": "^1.0.0", - "select-dom": "^7.1.0", + "select-dom": "^7.1.1", "selector-observer": "^2.1.6", "shorten-repo-url": "^2.1.0", "strip-indent": "^3.0.0", @@ -90,37 +90,37 @@ "devDependencies": { "@ava/typescript": "^1.1.1", "@sindresorhus/tsconfig": "^0.9.0", - "@types/chrome": "^0.0.133", + "@types/chrome": "^0.0.134", "@types/codemirror": "^0.0.108", "@types/copy-webpack-plugin": "^6.4.1", "@types/firefox-webext-browser": "^82.0.0", - "@types/jsdom": "^16.2.7", + "@types/jsdom": "^16.2.10", "@types/mini-css-extract-plugin": "^1.4.1", "@types/react": "^17.0.3", "@types/terser-webpack-plugin": "^5.0.3", "ava": "^3.15.0", - "copy-webpack-plugin": "^8.1.0", + "copy-webpack-plugin": "^8.1.1", "css-loader": "^5.2.0", "daily-version": "^2.0.0", "dot-json": "^1.2.2", "esbuild-loader": "^2.11.0", - "eslint-config-xo-react": "^0.24.0", - "eslint-plugin-react": "^7.22.0", + "eslint-config-xo-react": "^0.25.0", + "eslint-plugin-react": "^7.23.2", "eslint-plugin-react-hooks": "^4.2.0", - "jsdom": "^16.5.1", + "jsdom": "^16.5.2", "markdown-wasm": "^1.1.2", - "mini-css-extract-plugin": "^1.4.0", + "mini-css-extract-plugin": "^1.4.1", "npm-run-all": "^4.1.5", "size-plugin": "^2.0.2", "stylelint": "^13.12.0", "stylelint-config-xo": "^0.20.0", "terser-webpack-plugin": "^5.1.1", "ts-node": "^9.1.1", - "tslib": "^2.1.0", + "tslib": "^2.2.0", "type-fest": "^0.21.3", "typed-query-selector": "^2.4.1", - "typescript": "^4.2.3", - "webpack": "^5.30.0", + "typescript": "^4.2.4", + "webpack": "^5.31.0", "webpack-cli": "^4.6.0", "xo": "^0.38.2" }, diff --git a/source/background.ts b/source/background.ts index f1fa00ec..e45cd740 100644 --- a/source/background.ts +++ b/source/background.ts @@ -3,7 +3,7 @@ import cache from 'webext-storage-cache'; // Also needed to regularly clear the import addDomainPermissionToggle from 'webext-domain-permission-toggle'; import './options-storage'; -// GitHub Enterprise support +// GHE support addDomainPermissionToggle(); const messageHandlers = { diff --git a/source/features/collapse-markdown-sections.tsx b/source/features/collapse-markdown-sections.tsx index 97ebf8d1..e96b6116 100644 --- a/source/features/collapse-markdown-sections.tsx +++ b/source/features/collapse-markdown-sections.tsx @@ -37,7 +37,7 @@ function onHeadingClick(event: delegate.Event<MouseEvent, HTMLElement>): void { function init(): void { delegate(document, '.markdown-body > :is(h1, h2, h3, h4, h5, h6)', 'click', onHeadingClick); - document.body.classList.add('.rgh-' + __filebasename); + document.body.classList.add('rgh-' + __filebasename); } void features.add(__filebasename, { diff --git a/source/features/enable-file-links-in-compare-view.tsx b/source/features/enable-file-links-in-compare-view.tsx index 2bf1edb8..36c6e243 100644 --- a/source/features/enable-file-links-in-compare-view.tsx +++ b/source/features/enable-file-links-in-compare-view.tsx @@ -60,8 +60,9 @@ void features.add(__filebasename, { pageDetect.isPRCommit ], exclude: [ - // Only enabled on Open/Draft PRs. Editing files doesn't make sense after a PR is closed/merged. - () => !select.exists('.gh-header-meta [title$="Open"], .gh-header-meta [title$="Draft"]'), + // Editing files doesn't make sense after a PR is closed/merged + pageDetect.isClosedPR, + () => select('.head-ref')!.title === 'This repository has been deleted', // If you're viewing changes from partial commits, ensure you're on the latest one. () => select.exists('.js-commits-filtered') && !select.exists('[aria-label="You are viewing the latest commit"]') ], diff --git a/source/features/first-published-tag-for-merged-pr.tsx b/source/features/first-published-tag-for-merged-pr.tsx index 135bbc1a..b2defe10 100644 --- a/source/features/first-published-tag-for-merged-pr.tsx +++ b/source/features/first-published-tag-for-merged-pr.tsx @@ -10,7 +10,7 @@ import {buildRepoURL, getRepo} from '../github-helpers'; import onConversationHeaderUpdate from '../github-events/on-conversation-header-update'; const getFirstTag = cache.function(async (commit: string): Promise<string | undefined> => { - const firstTag = await fetchDom<HTMLAnchorElement>( + const firstTag = await fetchDom( buildRepoURL('branch_commits', commit), 'ul.branches-tag-list li:last-child a' ); diff --git a/source/features/link-to-changelog-file.tsx b/source/features/link-to-changelog-file.tsx index 6c57fb5a..9318c5cf 100644 --- a/source/features/link-to-changelog-file.tsx +++ b/source/features/link-to-changelog-file.tsx @@ -68,7 +68,7 @@ async function init(): Promise<void | false> { style={{padding: '6px 16px'}} role="button" > - <BookIcon className="text-blue mr-2"/> + <BookIcon className="text-blue color-text-link mr-2"/> <span>Changelog</span> </a> ); diff --git a/source/features/more-dropdown.css b/source/features/more-dropdown.css index cbac5ada..3787e19a 100644 --- a/source/features/more-dropdown.css +++ b/source/features/more-dropdown.css @@ -1,10 +1,3 @@ -/* Fix pre-existing items' positioning on GHE */ -.reponav-dropdown a.dropdown-item:not(.rgh-reponav-more)::before { - content: ''; - display: inline-block; - width: 16px; -} - /* Always show the overflow menu button */ .rgh-has-more-dropdown .js-responsive-underlinenav-overflow { visibility: visible !important; diff --git a/source/features/restore-file.tsx b/source/features/restore-file.tsx index f505b15d..0de3c764 100644 --- a/source/features/restore-file.tsx +++ b/source/features/restore-file.tsx @@ -57,7 +57,7 @@ async function commitFileContent(menuItem: Element, content: string, filePath: s } // This is either an `edit` or `create` form - const form = (await fetchDom<HTMLFormElement>(pathname, '.js-blob-form'))!; + const form = (await fetchDom(pathname, 'form.js-blob-form'))!; form.elements.value.value = content; // Restore content (`value` is the name of the file content field) form.elements.message.value = (form.elements.message as HTMLInputElement).placeholder .replace(/^Create|^Update/, 'Restore'); diff --git a/source/features/safer-destructive-actions.css b/source/features/safer-destructive-actions.css index 3fe2ceb6..6998f50a 100644 --- a/source/features/safer-destructive-actions.css +++ b/source/features/safer-destructive-actions.css @@ -1,12 +1,6 @@ /* Move "close issue" and "cancel" buttons on authoring comments to the left */ /* ...in issue comment form */ -/* the legacy way (kept for GitHub Enterprise) */ -.form-actions .btn.js-comment-and-button { - float: left; -} - -/* the current github.com way */ #partial-new-comment-form-actions > .d-flex { justify-content: space-between !important; } diff --git a/source/features/table-input.tsx b/source/features/table-input.tsx index f2ec4f26..1079d69b 100644 --- a/source/features/table-input.tsx +++ b/source/features/table-input.tsx @@ -2,6 +2,7 @@ import './table-input.css'; import React from 'dom-chef'; import select from 'select-dom'; import delegate from 'delegate-it'; +import {TableIcon} from '@primer/octicons-react'; import * as pageDetect from 'github-url-detection'; import * as textFieldEdit from 'text-field-edit'; @@ -48,9 +49,7 @@ function init(): void { className="tooltipped tooltipped-n" aria-label="Add a table" > - <svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" className="octicon"> - <path d="m2.75 1c-0.9665 0-1.75 0.7835-1.75 1.75v10.5c0 0.9665 0.7835 1.75 1.75 1.75h10.5c0.9665 0 1.75-0.7835 1.75-1.75v-10.5c0-0.9665-0.7835-1.75-1.75-1.75h-10.5zm0 1.5h4.5v4.75h-4.75v-4.5c0-0.13807 0.11193-0.25 0.25-0.25zm6 0h4.5c0.1381 0 0.25 0.11193 0.25 0.25v4.5h-4.75v-4.75zm-6.25 6.25h4.75v4.75h-4.5c-0.13807 0-0.25-0.1119-0.25-0.25v-4.5zm6.25 0h4.75v4.5c0 0.1381-0.1119 0.25-0.25 0.25h-4.5v-4.75z"/> - </svg> + <TableIcon/> </div> </summary> <details-menu className="select-menu-modal position-absolute left-0 hx_rsm-modal rgh-table-input" role="menu"> diff --git a/source/helpers/fetch-dom.ts b/source/helpers/fetch-dom.ts index 9d901496..9de536ca 100644 --- a/source/helpers/fetch-dom.ts +++ b/source/helpers/fetch-dom.ts @@ -1,8 +1,9 @@ import mem from 'mem'; import domify from 'doma'; +import type {ParseSelector} from 'typed-query-selector/parser'; async function fetchDom(url: string): Promise<DocumentFragment>; -async function fetchDom<TElement extends Element>(url: string, selector: string): Promise<TElement | undefined>; +async function fetchDom<Selector extends string, TElement extends Element = ParseSelector<Selector>>(url: string, selector: Selector): Promise<TElement | undefined>; async function fetchDom(url: string, selector?: string): Promise<Node | undefined> { const absoluteURL = new URL(url, location.origin).toString(); // Firefox `fetch`es from the content script, so relative URLs fail const response = await fetch(absoluteURL); diff --git a/source/options-storage.ts b/source/options-storage.ts index 291a8dff..2d950d1b 100644 --- a/source/options-storage.ts +++ b/source/options-storage.ts @@ -17,9 +17,8 @@ const defaults = Object.assign({ logging: false }, Object.fromEntries(__features__.map(id => [`feature:${id}`, true]))); -// TODO[2021-10-01]: Drop classes `muted-link`, `link-gray`, `link-gray-dark`, `text-gray`, `text-gray-light`, `text-gray-dark`, `text-green`, `text-red` #4021 +// TODO[2021-10-01]: Drop classes `muted-link`, `link-gray`, `link-gray-dark`, `text-gray`, `text-gray-light`, `text-gray-dark`, `text-green`, `text-red` `text-blue` #4021 const migrations = [ - featureWasRenamed('pr-easy-toggle-files', 'easy-toggle-files'), // Merged in December featureWasRenamed('cleanup-repo-filelist-actions', 'clean-repo-filelist-actions'), // Merged in February featureWasRenamed('batch-open-conversations', 'open-all-conversations'), // Merged in March diff --git a/source/options.tsx b/source/options.tsx index 27414276..cb14365d 100644 --- a/source/options.tsx +++ b/source/options.tsx @@ -58,6 +58,7 @@ async function getTokenScopes(personalToken: string): Promise<string[]> { } const scopes = response.headers.get('X-OAuth-Scopes')!.split(', '); + scopes.push('valid_token'); if (scopes.includes('repo')) { scopes.push('public_repo'); } |