From 7b198e912cbb1c780de9dc3c56094f9fc82f958d Mon Sep 17 00:00:00 2001 From: James Curtin Date: Thu, 6 May 2021 18:59:55 -0400 Subject: [PATCH 01/54] Update Python package build and upload example --- .../guides/building-and-testing-python.md | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 2e065b493e..e5cd5e9907 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -399,7 +399,13 @@ jobs: You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. -You can store any access tokens or credentials needed to publish your package using secrets. The following example creates and publishes a package to PyPI using `twine` and `dist`. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." +In this example, your package is uploaded to PyPI each time you [publish a release](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository). +Publishing a pre-release will upload a package to the development version of PyPI. + +You can store any access tokens or credentials needed to publish your package using secrets. +In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). +For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." +The Python Packaging Authority (PyPA) also has a [guide to Github Actions](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). {% raw %} ```yaml{:copy} @@ -407,7 +413,7 @@ name: Upload Python Package on: release: - types: [created] + types: [released, prereleased] jobs: deploy: @@ -421,14 +427,23 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install setuptools wheel twine - - name: Build and publish - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + pip install build + - name: Build package run: | - python setup.py sdist bdist_wheel - twine upload dist/* + python -m build + - name: Publish DEV package + if: "github.event.release.prerelease" + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + - name: Publish package + if: "!github.event.release.prerelease" + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} ``` {% endraw %} From 56968584218a1aac52f287741487de6b90129b92 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 12:53:09 +1000 Subject: [PATCH 02/54] Apply suggestions from code review Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com> --- content/actions/guides/building-and-testing-python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 5e06342ec6..a07e22c307 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -413,7 +413,7 @@ name: Upload Python Package on: release: - types: [released, prereleased] + types: [published] jobs: deploy: From 4ae773f25c092ebae090ad4ddbb6fe07b65e25c7 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 12:54:27 +1000 Subject: [PATCH 03/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index a07e22c307..ab6d98257c 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -429,8 +429,7 @@ jobs: python -m pip install --upgrade pip pip install build - name: Build package - run: | - python -m build + run: python -m build - name: Publish DEV package if: "github.event.release.prerelease" uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 From fdb24c003a6fde54049f326d12d943b253e9a12b Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 12:56:20 +1000 Subject: [PATCH 04/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index ab6d98257c..79033edcbd 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -430,15 +430,7 @@ jobs: pip install build - name: Build package run: python -m build - - name: Publish DEV package - if: "github.event.release.prerelease" - uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 - with: - user: __token__ - password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository_url: https://test.pypi.org/legacy/ - name: Publish package - if: "!github.event.release.prerelease" uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 with: user: __token__ From 36130ae03d45bd5364faec6c7624737739231577 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 13:07:57 +1000 Subject: [PATCH 05/54] Update building-and-testing-python.md --- .../actions/guides/building-and-testing-python.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 79033edcbd..88d35b9c76 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -399,14 +399,18 @@ jobs: You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. -In this example, your package is uploaded to PyPI each time you [publish a release](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository). -Publishing a pre-release will upload a package to the development version of PyPI. +In this example, your package is uploaded to PyPI each time you [publish a release](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository). + +You can store any access tokens or credentials needed to publish your package using secrets. In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." -You can store any access tokens or credentials needed to publish your package using secrets. -In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). -For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." The Python Packaging Authority (PyPA) also has a [guide to Github Actions](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). +{% note %} + +**Note:** This workflow uses actions that are not certified by {% data variables.product.prodname_dotcom %}. They are provided by a third-party and are governed by separate terms of service, privacy policy, and support documentation. + +{% endnote %} + {% raw %} ```yaml{:copy} name: Upload Python Package From 283a4f6517ff0c4bf21a4b97fffdc382fcb3bae9 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 13:12:27 +1000 Subject: [PATCH 06/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 88d35b9c76..99e4c639fc 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -405,14 +405,13 @@ You can store any access tokens or credentials needed to publish your package us The Python Packaging Authority (PyPA) also has a [guide to Github Actions](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). -{% note %} - -**Note:** This workflow uses actions that are not certified by {% data variables.product.prodname_dotcom %}. They are provided by a third-party and are governed by separate terms of service, privacy policy, and support documentation. - -{% endnote %} - {% raw %} ```yaml{:copy} +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + name: Upload Python Package on: From fcec99a8e0d4f4c39b7792a6c057ce15e932c254 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 3 Jun 2021 14:02:34 +1000 Subject: [PATCH 07/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 99e4c639fc..47378a256d 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -399,7 +399,7 @@ jobs: You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. -In this example, your package is uploaded to PyPI each time you [publish a release](https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository). +In this example, your package is uploaded to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). You can store any access tokens or credentials needed to publish your package using secrets. In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." From e438fdf46588da330f8dd18e35c6cfb7ca866dc1 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Fri, 4 Jun 2021 09:09:36 +1000 Subject: [PATCH 08/54] Added small edits --- content/actions/guides/building-and-testing-python.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 47378a256d..40e816b3e4 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -397,13 +397,11 @@ jobs: ### Publishing to package registries -You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. +You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. This section demonstrates how your package can uploaded to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). -In this example, your package is uploaded to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). +You can use secrets to store the access tokens or credentials needed to publish your package. In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). For more information on secrets, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." -You can store any access tokens or credentials needed to publish your package using secrets. In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." - -The Python Packaging Authority (PyPA) also has a [guide to Github Actions](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). +The Python Packaging Authority (PyPA) also has its own [guide to using {% data variables.product.prodname_actions %}](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). {% raw %} ```yaml{:copy} From 794fc44a1b6b1f88d2d03b0470430b199699fa21 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Fri, 4 Jun 2021 09:10:53 +1000 Subject: [PATCH 09/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 40e816b3e4..44cf3cba29 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -399,7 +399,7 @@ jobs: You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. This section demonstrates how your package can uploaded to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). -You can use secrets to store the access tokens or credentials needed to publish your package. In this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). For more information on secrets, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." +For this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). You can use secrets to store the access tokens or credentials needed to publish your package. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." The Python Packaging Authority (PyPA) also has its own [guide to using {% data variables.product.prodname_actions %}](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). From f972f074cb49d4c98ddcd741dff98dd8f2230593 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Fri, 4 Jun 2021 09:13:30 +1000 Subject: [PATCH 10/54] Update building-and-testing-python.md --- content/actions/guides/building-and-testing-python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 44cf3cba29..da4c77c92b 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -397,7 +397,7 @@ jobs: ### Publishing to package registries -You can configure your workflow to publish your Python package to any package registry you'd like when your CI tests pass. This section demonstrates how your package can uploaded to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). +You can configure your workflow to publish your Python package to a package registry once your CI tests pass. This section demonstrates how you can use {% data variables.product.prodname_actions %} to upload your package to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository). For this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). You can use secrets to store the access tokens or credentials needed to publish your package. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." From ae8e4dfa9baacdc8f332ef3cb4d0d9be17012109 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Jun 2021 10:03:50 -0400 Subject: [PATCH 11/54] rewrite get-english-headings to use AST instead of regex --- lib/get-english-headings.js | 37 ++++++++++++++++++++++++------------- package.json | 1 + 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/lib/get-english-headings.js b/lib/get-english-headings.js index 7841572795..347e859c15 100644 --- a/lib/get-english-headings.js +++ b/lib/get-english-headings.js @@ -1,5 +1,7 @@ -// capture h2, h3, and h4 headings -const headingRegex = /^###?#? (.*?)$/gm +const astFromMarkdown = require('mdast-util-from-markdown') +const toString = require('mdast-util-to-string') +const visit = require('unist-util-visit') +const findPage = require('./find-page') // for any translated page, first get corresponding English markdown // then get the headings on both the translated and English pageMap @@ -16,22 +18,31 @@ module.exports = function getEnglishHeadings (page, context) { }, {}) } - const translatedHeadings = page.markdown.match(headingRegex) - if (!translatedHeadings) return + const translatedHeadings = getHeadings(page.markdown) + if (!translatedHeadings.length) return - const englishPage = context.pages[`/en/${page.relativePath.replace(/.md$/, '')}`] + const englishPage = findPage(`/en/${page.relativePath.replace(/.md$/, '')}`, context.pages, context.redirects) if (!englishPage) return // FIX there may be bugs if English headings are updated before Crowdin syncs up :/ - const englishHeadings = englishPage.markdown.match(headingRegex) - if (!englishHeadings) return - - // select heading text only - const cleanTranslatedHeadings = translatedHeadings.map(h => h.replace(headingRegex, '$1')) - const cleanEnglishHeadings = englishHeadings.map(h => h.replace(headingRegex, '$1')) + const englishHeadings = getHeadings(englishPage.markdown) + if (!englishHeadings.length) return // return a map from translation:English - return Object.assign(...cleanTranslatedHeadings.map((k, i) => ({ - [k]: cleanEnglishHeadings[i] + return Object.assign(...translatedHeadings.map((k, i) => ({ + [k]: englishHeadings[i] }))) } + +function getHeadings (markdown) { + const ast = astFromMarkdown(markdown) + const headings = [] + + visit(ast, node => { + if (node.type !== 'heading') return + if (![2, 3, 4].includes(node.depth)) return + headings.push(toString(node)) + }) + + return headings +} diff --git a/package.json b/package.json index 443b40676c..11fa17f8b3 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "lodash": "^4.17.21", "lunr": "^2.3.9", "lunr-languages": "^1.4.0", + "mdast-util-to-string": "^2.0.0", "morgan": "^1.10.0", "next": "^10.2.3", "node-fetch": "^2.6.1", From f41ff942cf903cd7d82ced6ecd2e4d7e3787158f Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Jun 2021 10:03:56 -0400 Subject: [PATCH 12/54] add tests --- tests/rendering/server.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/rendering/server.js b/tests/rendering/server.js index 06a4a6cd5c..e3c9490c0f 100644 --- a/tests/rendering/server.js +++ b/tests/rendering/server.js @@ -251,6 +251,16 @@ describe('server', () => { const $ = await getDOM('/github/getting-started-with-github') expect($('h2#in-this-article').length).toBe(0) }) + + test('renders mini TOC with correct links when headings contain markup', async () => { + const $ = await getDOM('/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates') + expect($('h2#in-this-article + ul li a[href="#package-ecosystem"]').length).toBe(1) + }) + + test('renders mini TOC with correct links when headings contain markup in localized content', async () => { + const $ = await getDOM('/ja/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates') + expect($('h2#in-this-article + ul li a[href="#package-ecosystem"]').length).toBe(1) + }) }) describe('image asset paths', () => { From 634ef767bcd49987ffe2e27955c55e20b1f2606d Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Jun 2021 12:43:03 -0400 Subject: [PATCH 13/54] see if downgrading sass fixes the staging failure --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 11fa17f8b3..aff27c6647 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "^1.34.0", + "sass": "1.32.*", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", From 32065442d41af55ffe741675eeb75d60137b1bee Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Jun 2021 13:06:50 -0400 Subject: [PATCH 14/54] undo sass downgrade, it did not fix staging --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aff27c6647..1390c209a7 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "1.32.*", + "sass": "^1.34.1", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", From ed46be947a6a60beb5119b1eb86e7a3f348a1880 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 8 Jun 2021 15:08:07 -0400 Subject: [PATCH 15/54] we need the package-lock --- package-lock.json | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f66f54ec4..80932572cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,6 +50,7 @@ "lodash": "^4.17.21", "lunr": "^2.3.9", "lunr-languages": "^1.4.0", + "mdast-util-to-string": "^2.0.0", "morgan": "^1.10.0", "next": "^10.2.3", "node-fetch": "^2.6.1", @@ -146,7 +147,7 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "^1.34.0", + "sass": "^1.34.1", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", @@ -15554,8 +15555,7 @@ "node_modules/mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" }, "node_modules/mdurl": { "version": "1.0.1", @@ -20128,9 +20128,9 @@ } }, "node_modules/sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0" @@ -37456,8 +37456,7 @@ "mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" }, "mdurl": { "version": "1.0.1", @@ -41395,9 +41394,9 @@ } }, "sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "devOptional": true, "requires": { "chokidar": ">=3.0.0 <4.0.0" From 2f73893e3dc266974ef9cd2e2dc00e06134ec0e8 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Fri, 11 Jun 2021 09:14:17 -0400 Subject: [PATCH 16/54] update simplified chinese hreflang --- lib/languages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/languages.js b/lib/languages.js index 61c154d5b1..245cb7912f 100644 --- a/lib/languages.js +++ b/lib/languages.js @@ -12,7 +12,7 @@ const languages = { name: 'Simplified Chinese', nativeName: '简体中文', code: 'cn', - hreflang: 'zh-Hans', + hreflang: 'zh', redirectPatterns: [/^\/zh-\w{2}/, /^\/zh/], dir: 'translations/zh-CN', wip: false From 74c46de7ce9eceace8e5664e9997593cc61a81f1 Mon Sep 17 00:00:00 2001 From: Mike McDonald <2575327+asciimike@users.noreply.github.com> Date: Wed, 16 Jun 2021 13:26:57 -0600 Subject: [PATCH 17/54] [June 16th] Dependabot no longer runs at 5AM UTC by default (#19841) * Updating docs to no longer reference 5AM UTC default * Update content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> Co-authored-by: Melanie Yarbrough <11952755+myarb@users.noreply.github.com> --- .../configuration-options-for-dependency-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md index b62bb0cd46..26b7a72de1 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md @@ -134,7 +134,7 @@ updates: ### `schedule.interval` -**Required**. You must define how often to check for new versions for each package manager. By default, this is at 5am UTC. To modify this, use [`schedule.time`](#scheduletime) and [`schedule.timezone`](#scheduletimezone). +**Required**. You must define how often to check for new versions for each package manager. By default, {% data variables.product.prodname_dependabot %} randomly assigns a time to apply all the updates in the configuration file. To set a specific time, you can use [`schedule.time`](#scheduletime) and [`schedule.timezone`](#scheduletimezone). - `daily`—runs on every weekday, Monday to Friday. - `weekly`—runs once each week. By default, this is on Monday. To modify this, use [`schedule.day`](#scheduleday). From 83e33cc9bb27b9d9a41898df8ad8d79928362b77 Mon Sep 17 00:00:00 2001 From: Mike Surowiec Date: Wed, 16 Jun 2021 12:47:01 -0700 Subject: [PATCH 18/54] Quiet sass warnings (#19960) * npm install sass@latest * add quietDeps: true to webpack config * prevent error message from hmr abort, cleans up the log Co-authored-by: Sarah Schneider --- middleware/abort.js | 4 ++++ next.config.js | 6 ++++++ package-lock.json | 14 +++++++------- package.json | 2 +- stylesheets/bump-link.scss | 6 ++++-- webpack.config.js | 1 + 6 files changed, 23 insertions(+), 10 deletions(-) diff --git a/middleware/abort.js b/middleware/abort.js index 387a965ead..86952674c9 100644 --- a/middleware/abort.js +++ b/middleware/abort.js @@ -1,6 +1,10 @@ module.exports = function abort (req, res, next) { // If the client aborts the connection, send an error req.once('aborted', () => { + // ignore aborts from next, usually has to do with webpack-hmr + if (req.path.startsWith('/_next')) { + return + } // NOTE: Node.js will also automatically set `req.aborted = true` const abortError = new Error('Client closed request') diff --git a/next.config.js b/next.config.js index 7bd250a684..605f5ef2c1 100644 --- a/next.config.js +++ b/next.config.js @@ -4,6 +4,9 @@ const languages = require('./lib/languages') module.exports = { // speed up production `next build` by ignoring typechecking during that step of build. // type-checking still occurs in the Dockerfile build + future: { + webpack: 5, + }, typescript: { ignoreBuildErrors: true }, @@ -11,6 +14,9 @@ module.exports = { locales: Object.values(languages).map(({ code }) => code), defaultLocale: 'en' }, + sassOptions: { + quietDeps: true + }, async rewrites () { const DEFAULT_VERSION = 'free-pro-team@latest' return productIds.map((productId) => { diff --git a/package-lock.json b/package-lock.json index eeff2ade46..15d1441ff8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -157,7 +157,7 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "^1.34.0", + "sass": "^1.35.1", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", @@ -20691,9 +20691,9 @@ } }, "node_modules/sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz", + "integrity": "sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0" @@ -42375,9 +42375,9 @@ } }, "sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz", + "integrity": "sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==", "devOptional": true, "requires": { "chokidar": ">=3.0.0 <4.0.0" diff --git a/package.json b/package.json index 1ac1654a6a..07bc93be0c 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "^1.34.0", + "sass": "^1.35.1", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", diff --git a/stylesheets/bump-link.scss b/stylesheets/bump-link.scss index df07edc798..508a80cf20 100644 --- a/stylesheets/bump-link.scss +++ b/stylesheets/bump-link.scss @@ -1,7 +1,9 @@ +@use "sass:math"; + // Arrow links .Bump-link-symbol { display: inline-block; - transition: $transition-time / 2; + transition: math.div($transition-time, 2); transform: translateX(0); } @@ -12,7 +14,7 @@ .Bump-link--hover .Bump-link-symbol { color: inherit; opacity: 0; - transition: $transition-time / 2; + transition: math.div($transition-time, 2); transform: translateX(0); } diff --git a/webpack.config.js b/webpack.config.js index c987f24d96..276eae1cfa 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -47,6 +47,7 @@ module.exports = { loader: 'sass-loader', options: { sassOptions: { + quietDeps: true, includePaths: ['./stylesheets', './node_modules'], options: { sourceMap: true, From 0ae4979f418f0d9f82212f7c315a0590d46cd8e0 Mon Sep 17 00:00:00 2001 From: Rachael Sewell Date: Wed, 16 Jun 2021 13:08:24 -0700 Subject: [PATCH 19/54] clean up openapi build errors (#19963) --- script/rest/utils/operation-schema.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/rest/utils/operation-schema.js b/script/rest/utils/operation-schema.js index 28d92e88c2..c2abf75ad0 100644 --- a/script/rest/utils/operation-schema.js +++ b/script/rest/utils/operation-schema.js @@ -1,6 +1,7 @@ // This schema is used to validate each generated operation object at build time module.exports = { + type: 'object', // Every operation must have these props required: [ @@ -44,7 +45,7 @@ module.exports = { verb: { description: 'The HTTP method', type: 'string', - required: ['GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'HEAD'] + enum: ['get', 'put', 'post', 'delete', 'patch', 'head'] }, requestPath: { description: 'The URL path', From a20f56deaf9301503959716a83dc8d6cd95ca9e8 Mon Sep 17 00:00:00 2001 From: Grace Park Date: Wed, 16 Jun 2021 13:14:35 -0700 Subject: [PATCH 20/54] updating LanguagePicker to use language code instead of hreflang --- components/LanguagePicker.tsx | 2 +- lib/languages.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/LanguagePicker.tsx b/components/LanguagePicker.tsx index 9c8a81b5a2..f898e31c65 100644 --- a/components/LanguagePicker.tsx +++ b/components/LanguagePicker.tsx @@ -32,7 +32,7 @@ export const LanguagePicker = ({ variant }: Props) => { Date: Wed, 16 Jun 2021 13:24:05 -0700 Subject: [PATCH 21/54] adding to 2nd return --- components/LanguagePicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/LanguagePicker.tsx b/components/LanguagePicker.tsx index f898e31c65..b1cbeabfba 100644 --- a/components/LanguagePicker.tsx +++ b/components/LanguagePicker.tsx @@ -71,7 +71,7 @@ export const LanguagePicker = ({ variant }: Props) => { {langs.map((lang) => { return ( - + {lang.nativeName ? ( <> {lang.nativeName} ({lang.name}) From a54c4fb8a3bcfe1277d9cd85bb9fdd9ea218b81d Mon Sep 17 00:00:00 2001 From: Grace Park Date: Wed, 16 Jun 2021 14:40:24 -0700 Subject: [PATCH 22/54] update package-local --- package-lock.json | 1772 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 1403 insertions(+), 369 deletions(-) diff --git a/package-lock.json b/package-lock.json index ecd2fe57c5..15d1441ff8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "name": "docs.github.com", "license": "(MIT AND CC-BY-4.0)", "dependencies": { + "@hapi/accept": "^5.0.2", "@primer/components": "^28.0.4", "@primer/css": "^16.2.0", "@primer/octicons": "^14.1.0", @@ -50,11 +51,11 @@ "lodash": "^4.17.21", "lunr": "^2.3.9", "lunr-languages": "^1.4.0", - "mdast-util-to-string": "^2.0.0", "morgan": "^1.10.0", "next": "^10.2.3", "node-fetch": "^2.6.1", "parse5": "^6.0.1", + "path-to-regexp": "^0.1.7", "port-used": "^2.0.8", "rate-limit-redis": "^2.1.0", "react": "^17.0.2", @@ -73,6 +74,7 @@ "remark-rehype": "^5.0.0", "revalidator": "^0.3.1", "rss-parser": "^3.12.0", + "scroll-anchoring": "^0.1.0", "search-with-your-keyboard": "1.1.0", "semver": "^7.3.5", "slash": "^3.0.0", @@ -94,9 +96,15 @@ "@graphql-inspector/core": "^2.5.0", "@graphql-tools/load": "^6.2.8", "@octokit/rest": "^18.5.3", + "@types/github-slugger": "^1.3.0", + "@types/imurmurhash": "^0.1.1", + "@types/js-cookie": "^2.2.6", "@types/lodash": "^4.14.169", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", + "@types/uuid": "^8.3.0", + "@typescript-eslint/eslint-plugin": "^4.26.1", + "@typescript-eslint/parser": "^4.26.1", "async": "^3.2.0", "await-sleep": "0.0.1", "babel-loader": "^8.2.2", @@ -111,9 +119,11 @@ "css-loader": "^4.3.0", "dedent": "^0.7.0", "domwaiter": "^1.3.0", - "eslint": "^7.26.0", + "eslint": "^7.28.0", + "eslint-config-prettier": "^8.3.0", "eslint-config-standard": "^16.0.2", "eslint-plugin-import": "^2.23.2", + "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "event-to-promise": "^0.8.0", @@ -147,13 +157,14 @@ "resolve-url-loader": "^4.0.0", "rimraf": "^3.0.2", "robots-parser": "^2.3.0", - "sass": "^1.34.1", + "sass": "^1.35.1", "sass-loader": "^11.1.1", "start-server-and-test": "^1.12.2", "strip-ansi": "^7.0.0", "style-loader": "^2.0.0", "supertest": "^6.1.3", - "typescript": "^4.2.4", + "ts-loader": "^9.2.3", + "typescript": "^4.3.2", "url-template": "^2.0.8", "webpack": "^5.37.0", "webpack-cli": "^4.7.0", @@ -1740,6 +1751,16 @@ "regenerator-runtime": "^0.13.4" } }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", + "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, "node_modules/@babel/template": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", @@ -1877,15 +1898,15 @@ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" }, "node_modules/@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", @@ -1906,6 +1927,10 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { @@ -1927,18 +1952,26 @@ }, "engines": { "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", + "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "dev": true, "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { @@ -1967,6 +2000,21 @@ "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@graphql-inspector/core": { @@ -4041,6 +4089,12 @@ "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", "devOptional": true }, + "node_modules/@types/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==", + "dev": true + }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -4077,6 +4131,12 @@ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" }, + "node_modules/@types/imurmurhash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@types/imurmurhash/-/imurmurhash-0.1.1.tgz", + "integrity": "sha512-ThbETc7uxx6rIpNP0fE3bqrSSIeBWPrFY4TzY4WFsvdQYWinub+PLZV/9nT3zicRJJPWbmHqJIsHZHeh5Ad+Ug==", + "dev": true + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", @@ -4101,6 +4161,12 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/js-cookie": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.6.tgz", + "integrity": "sha512-+oY0FDTO2GYKEV0YPvSshGq9t7YozVkgvXLty7zogQNuCxBhT9/3INX9Q7H1aRZ4SUDRXAKlJuA4EA5nTt7SNw==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", @@ -4242,6 +4308,12 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" }, + "node_modules/@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, "node_modules/@types/yargs": { "version": "15.0.13", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", @@ -4266,6 +4338,306 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.1.tgz", + "integrity": "sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.26.1", + "@typescript-eslint/scope-manager": "4.26.1", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.21", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.1.tgz", + "integrity": "sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.26.1", + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/typescript-estree": "4.26.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.1.tgz", + "integrity": "sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.26.1", + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/typescript-estree": "4.26.1", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.1.tgz", + "integrity": "sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/visitor-keys": "4.26.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.1.tgz", + "integrity": "sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.1.tgz", + "integrity": "sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/visitor-keys": "4.26.1", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.1.tgz", + "integrity": "sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.26.1", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", @@ -4786,6 +5158,19 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -4948,6 +5333,12 @@ "node": ">=4" } }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -5034,6 +5425,12 @@ "follow-redirects": "^1.10.0" } }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -6476,16 +6873,16 @@ } }, "node_modules/cacheable-request": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", - "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", + "normalize-url": "^6.0.1", "responselike": "^2.0.0" }, "engines": { @@ -6503,6 +6900,17 @@ "node": ">=8" } }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz", + "integrity": "sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -6754,119 +7162,218 @@ "optional": true }, "node_modules/cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", "dependencies": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/cheerio-select-tmp": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz", - "integrity": "sha512-YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==", - "dev": true, + "node_modules/cheerio-select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", + "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", "dependencies": { - "css-select": "^3.1.2", - "css-what": "^4.0.0", - "domelementtype": "^2.1.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.4" + "css-select": "^4.1.3", + "css-what": "^5.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "domutils": "^2.7.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio-select-tmp/node_modules/css-select": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", - "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", - "dev": true, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^4.0.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.3", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio-select-tmp/node_modules/css-what": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", - "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", - "dev": true, + "node_modules/cheerio-select/node_modules/css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", "engines": { "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio-select-tmp/node_modules/dom-serializer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", - "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", - "dev": true, + "node_modules/cheerio-select/node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dependencies": { "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", + "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/cheerio-select-tmp/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true + "node_modules/cheerio-select/node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/cheerio-select-tmp/node_modules/domhandler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", - "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", - "dev": true, + "node_modules/cheerio-select/node_modules/domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", "dependencies": { - "domelementtype": "^2.1.0" + "domelementtype": "^2.2.0" }, "engines": { "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/cheerio-select-tmp/node_modules/domutils": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", - "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", - "dev": true, + "node_modules/cheerio-select/node_modules/domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", "dependencies": { "dom-serializer": "^1.0.1", - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0" + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/cheerio-select-tmp/node_modules/entities": { + "node_modules/cheerio-select/node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/cheerio-select-tmp/node_modules/nth-check": { + "node_modules/cheerio-select/node_modules/nth-check": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, "dependencies": { "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/cheerio/node_modules/parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "node_modules/cheerio/node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dependencies": { - "@types/node": "*" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/cheerio/node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/cheerio/node_modules/domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/cheerio/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, "node_modules/chokidar": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", @@ -7515,6 +8022,17 @@ "semver": "bin/semver.js" } }, + "node_modules/core-js-pure": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.14.0.tgz", + "integrity": "sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -7879,6 +8397,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -7911,6 +8430,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true, "engines": { "node": "*" } @@ -8021,6 +8541,12 @@ "fs-exists-sync": "^0.1.0" } }, + "node_modules/damerau-levenshtein": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", + "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==", + "dev": true + }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -8384,6 +8910,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, "dependencies": { "domelementtype": "^1.3.0", "entities": "^1.1.1" @@ -8406,7 +8933,8 @@ "node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "node_modules/domexception": { "version": "2.0.1", @@ -8433,6 +8961,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, "dependencies": { "domelementtype": "1" } @@ -8446,6 +8975,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -8747,7 +9277,8 @@ "node_modules/entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true }, "node_modules/envinfo": { "version": "7.8.1", @@ -8910,28 +9441,30 @@ "optional": true }, "node_modules/eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", + "@eslint/eslintrc": "^0.4.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", + "glob-parent": "^5.1.2", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", @@ -8940,7 +9473,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -8949,7 +9482,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -8958,6 +9491,21 @@ }, "engines": { "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, "node_modules/eslint-config-standard": { @@ -9140,6 +9688,46 @@ "node": ">=4" } }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/axe-core": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.2.tgz", + "integrity": "sha512-OKRkKM4ojMEZRJ5UNJHmq9tht7cEnRnqKG6KyB/trYws00Xtkv12mHtlJ0SK7cmuNbrU8dPUova3ELTuilfBbw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "node_modules/eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", @@ -9281,6 +9869,18 @@ "node": ">=6.0" } }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", @@ -9432,7 +10032,10 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, "node_modules/esprima": { "version": "4.0.1", @@ -10077,9 +10680,9 @@ } }, "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.5", @@ -11469,6 +12072,7 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, "dependencies": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", @@ -11482,6 +12086,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -11495,6 +12100,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -11773,9 +12379,9 @@ "optional": true }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", @@ -11783,6 +12389,9 @@ }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-from": { @@ -14645,6 +15254,19 @@ "verror": "1.10.0" } }, + "node_modules/jsx-ast-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/jszip": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", @@ -14696,6 +15318,21 @@ "node": ">= 8" } }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, "node_modules/latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", @@ -14833,24 +15470,6 @@ "node": ">=10" } }, - "node_modules/linkinator/node_modules/cheerio": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz", - "integrity": "sha512-yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==", - "dev": true, - "dependencies": { - "cheerio-select-tmp": "^0.1.0", - "dom-serializer": "~1.2.0", - "domhandler": "^4.0.0", - "entities": "~2.1.0", - "htmlparser2": "^6.0.0", - "parse5": "^6.0.0", - "parse5-htmlparser2-tree-adapter": "^6.0.0" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/linkinator/node_modules/cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", @@ -14878,52 +15497,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/linkinator/node_modules/dom-serializer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", - "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "entities": "^2.0.0" - } - }, - "node_modules/linkinator/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true - }, - "node_modules/linkinator/node_modules/domhandler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", - "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", - "dev": true, - "dependencies": { - "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/linkinator/node_modules/domutils": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", - "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0" - } - }, - "node_modules/linkinator/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true - }, "node_modules/linkinator/node_modules/global-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", @@ -14936,18 +15509,6 @@ "node": ">=10" } }, - "node_modules/linkinator/node_modules/htmlparser2": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", - "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.4.4", - "entities": "^2.0.0" - } - }, "node_modules/linkinator/node_modules/is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", @@ -15555,7 +16116,8 @@ "node_modules/mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true }, "node_modules/mdurl": { "version": "1.0.1", @@ -16912,9 +17474,10 @@ } }, "node_modules/normalize-url": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.2.0.tgz", - "integrity": "sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, "engines": { "node": ">=8" } @@ -16954,6 +17517,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, "dependencies": { "boolbase": "~1.0.0" } @@ -17972,7 +18536,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, "dependencies": { "parse5": "^6.0.1" } @@ -20128,9 +20691,9 @@ } }, "node_modules/sass": { - "version": "1.34.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", - "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz", + "integrity": "sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0" @@ -20207,6 +20770,11 @@ "uri-js": "^4.2.2" } }, + "node_modules/scroll-anchoring": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/scroll-anchoring/-/scroll-anchoring-0.1.0.tgz", + "integrity": "sha512-EZiDAh0HjMEvWK4uC57xk+ZZEAEUqfm325dGE/2h4QWXRuPcAe3kFD6FRoF/XVK3qUOw2iPHEy9lOTjG9O6mGA==" + }, "node_modules/search-with-your-keyboard": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/search-with-your-keyboard/-/search-with-your-keyboard-1.1.0.tgz", @@ -22210,6 +22778,74 @@ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "optional": true }, + "node_modules/ts-loader": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.3.tgz", + "integrity": "sha512-sEyWiU3JMHBL55CIeC4iqJQadI0U70A5af0kvgbNLHVNz2ACztQg0j/9x10bjjIht8WfFYLKfn4L6tkZ+pu+8Q==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ts-loader/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -22265,6 +22901,21 @@ "node": ">=0.6.x" } }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -22373,9 +23024,9 @@ } }, "node_modules/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -25563,6 +26214,16 @@ "regenerator-runtime": "^0.13.4" } }, + "@babel/runtime-corejs3": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", + "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, "@babel/template": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", @@ -25695,15 +26356,15 @@ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" }, "@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", @@ -25742,12 +26403,12 @@ } }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", + "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "js-yaml": { @@ -25771,6 +26432,12 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true } } }, @@ -27630,6 +28297,12 @@ "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", "devOptional": true }, + "@types/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==", + "dev": true + }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -27666,6 +28339,12 @@ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" }, + "@types/imurmurhash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@types/imurmurhash/-/imurmurhash-0.1.1.tgz", + "integrity": "sha512-ThbETc7uxx6rIpNP0fE3bqrSSIeBWPrFY4TzY4WFsvdQYWinub+PLZV/9nT3zicRJJPWbmHqJIsHZHeh5Ad+Ug==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", @@ -27690,6 +28369,12 @@ "@types/istanbul-lib-report": "*" } }, + "@types/js-cookie": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.6.tgz", + "integrity": "sha512-+oY0FDTO2GYKEV0YPvSshGq9t7YozVkgvXLty7zogQNuCxBhT9/3INX9Q7H1aRZ4SUDRXAKlJuA4EA5nTt7SNw==", + "dev": true + }, "@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", @@ -27831,6 +28516,12 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" }, + "@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, "@types/yargs": { "version": "15.0.13", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", @@ -27855,6 +28546,191 @@ "@types/node": "*" } }, + "@typescript-eslint/eslint-plugin": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.1.tgz", + "integrity": "sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.26.1", + "@typescript-eslint/scope-manager": "4.26.1", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.21", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.1.tgz", + "integrity": "sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.26.1", + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/typescript-estree": "4.26.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.1.tgz", + "integrity": "sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.26.1", + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/typescript-estree": "4.26.1", + "debug": "^4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.1.tgz", + "integrity": "sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/visitor-keys": "4.26.1" + } + }, + "@typescript-eslint/types": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.1.tgz", + "integrity": "sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.1.tgz", + "integrity": "sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.26.1", + "@typescript-eslint/visitor-keys": "4.26.1", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.1.tgz", + "integrity": "sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.26.1", + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, "@webassemblyjs/ast": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", @@ -28320,6 +29196,16 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -28454,6 +29340,12 @@ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==" }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -28525,6 +29417,12 @@ "follow-redirects": "^1.10.0" } }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -29869,16 +30767,16 @@ } }, "cacheable-request": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", - "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", + "normalize-url": "^6.0.1", "responselike": "^2.0.0" }, "dependencies": { @@ -29889,6 +30787,11 @@ "requires": { "pump": "^3.0.0" } + }, + "normalize-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.0.1.tgz", + "integrity": "sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==" } } }, @@ -30115,108 +31018,146 @@ "optional": true }, "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" }, "dependencies": { - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "requires": { - "@types/node": "*" - } - } - } - }, - "cheerio-select-tmp": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz", - "integrity": "sha512-YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==", - "dev": true, - "requires": { - "css-select": "^3.1.2", - "css-what": "^4.0.0", - "domelementtype": "^2.1.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.4" - }, - "dependencies": { - "css-select": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", - "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^4.0.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.3", - "nth-check": "^2.0.0" - } - }, - "css-what": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", - "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", - "dev": true - }, "dom-serializer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", - "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", - "dev": true, + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "requires": { "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", + "domhandler": "^4.2.0", "entities": "^2.0.0" } }, "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" }, "domhandler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", - "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", - "dev": true, + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", "requires": { - "domelementtype": "^2.1.0" + "domelementtype": "^2.2.0" } }, "domutils": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", - "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", - "dev": true, + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", "requires": { "dom-serializer": "^1.0.1", - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0" + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "cheerio-select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", + "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", + "requires": { + "css-select": "^4.1.3", + "css-what": "^5.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "domutils": "^2.7.0" + }, + "dependencies": { + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, "nth-check": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, "requires": { "boolbase": "^1.0.0" } @@ -30770,6 +31711,12 @@ } } }, + "core-js-pure": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.14.0.tgz", + "integrity": "sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -31061,6 +32008,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, "requires": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -31092,7 +32040,8 @@ "css-what": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true }, "css.escape": { "version": "1.5.1", @@ -31189,6 +32138,12 @@ "fs-exists-sync": "^0.1.0" } }, + "damerau-levenshtein": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", + "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -31479,6 +32434,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, "requires": { "domelementtype": "^1.3.0", "entities": "^1.1.1" @@ -31498,7 +32454,8 @@ "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "domexception": { "version": "2.0.1", @@ -31521,6 +32478,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, "requires": { "domelementtype": "1" } @@ -31534,6 +32492,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "requires": { "dom-serializer": "0", "domelementtype": "1" @@ -31797,7 +32756,8 @@ "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true }, "envinfo": { "version": "7.8.1", @@ -31927,28 +32887,30 @@ } }, "eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", + "@eslint/eslintrc": "^0.4.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", + "glob-parent": "^5.1.2", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", @@ -31957,7 +32919,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -31966,7 +32928,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -32007,6 +32969,12 @@ "ms": "2.1.2" } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", @@ -32100,6 +33068,13 @@ } } }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "requires": {} + }, "eslint-config-standard": { "version": "16.0.2", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", @@ -32251,6 +33226,39 @@ } } }, + "eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + }, + "dependencies": { + "axe-core": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.2.tgz", + "integrity": "sha512-OKRkKM4ojMEZRJ5UNJHmq9tht7cEnRnqKG6KyB/trYws00Xtkv12mHtlJ0SK7cmuNbrU8dPUova3ELTuilfBbw==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + } + } + }, "eslint-plugin-node": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", @@ -32350,7 +33358,8 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -32886,9 +33895,9 @@ } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.5", @@ -34113,6 +35122,7 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, "requires": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", @@ -34126,6 +35136,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -34136,6 +35147,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -34362,9 +35374,9 @@ "optional": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -36684,6 +37696,16 @@ "verror": "1.10.0" } }, + "jsx-ast-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "dev": true, + "requires": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + } + }, "jszip": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", @@ -36726,6 +37748,21 @@ "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", "dev": true }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, "latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", @@ -36833,21 +37870,6 @@ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, - "cheerio": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz", - "integrity": "sha512-yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==", - "dev": true, - "requires": { - "cheerio-select-tmp": "^0.1.0", - "dom-serializer": "~1.2.0", - "domhandler": "^4.0.0", - "entities": "~2.1.0", - "htmlparser2": "^6.0.0", - "parse5": "^6.0.0", - "parse5-htmlparser2-tree-adapter": "^6.0.0" - } - }, "cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", @@ -36869,49 +37891,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "dom-serializer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", - "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true - }, - "domhandler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", - "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", - "dev": true, - "requires": { - "domelementtype": "^2.1.0" - } - }, - "domutils": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", - "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0" - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true - }, "global-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", @@ -36921,18 +37900,6 @@ "ini": "2.0.0" } }, - "htmlparser2": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", - "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.4.4", - "entities": "^2.0.0" - } - }, "is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", @@ -37468,7 +38435,8 @@ "mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true }, "mdurl": { "version": "1.0.1", @@ -38633,9 +39601,10 @@ } }, "normalize-url": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.2.0.tgz", - "integrity": "sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true }, "not": { "version": "0.1.0", @@ -38664,6 +39633,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, "requires": { "boolbase": "~1.0.0" } @@ -39587,7 +40557,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, "requires": { "parse5": "^6.0.1" } @@ -41406,9 +42375,9 @@ } }, "sass": { - "version": "1.34.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", - "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz", + "integrity": "sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==", "devOptional": true, "requires": { "chokidar": ">=3.0.0 <4.0.0" @@ -41472,6 +42441,11 @@ } } }, + "scroll-anchoring": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/scroll-anchoring/-/scroll-anchoring-0.1.0.tgz", + "integrity": "sha512-EZiDAh0HjMEvWK4uC57xk+ZZEAEUqfm325dGE/2h4QWXRuPcAe3kFD6FRoF/XVK3qUOw2iPHEy9lOTjG9O6mGA==" + }, "search-with-your-keyboard": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/search-with-your-keyboard/-/search-with-your-keyboard-1.1.0.tgz", @@ -43167,6 +44141,57 @@ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "optional": true }, + "ts-loader": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.3.tgz", + "integrity": "sha512-sEyWiU3JMHBL55CIeC4iqJQadI0U70A5af0kvgbNLHVNz2ACztQg0j/9x10bjjIht8WfFYLKfn4L6tkZ+pu+8Q==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -43212,6 +44237,15 @@ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -43298,9 +44332,9 @@ } }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "dev": true }, "uid-safe": { From d31c1aab776be946d41a960e9a0778b2073e62c5 Mon Sep 17 00:00:00 2001 From: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com> Date: Wed, 16 Jun 2021 17:00:22 -0500 Subject: [PATCH 23/54] Add more CS team files to code owners (#19954) --- .github/CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 750dc0410c..0acc05d843 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -27,6 +27,9 @@ package.json @github/docs-engineering # Content strategy /contributing/content-markup-reference.md @github/docs-content-strategy /contributing/content-style-guide.md @github/docs-content-strategy +/contributing/content-model.md @github/docs-content-strategy +/contributing/content-style-guide.md @github/docs-content-strategy +/contributing/content-templates.md @github/docs-content-strategy # Make sure that Octokit maintainers get notified about changes # relevant to the Octokit libraries (https://github.com/octokit) From 7c4baa9a1d384036d0c31dc99703996ae16fc8f8 Mon Sep 17 00:00:00 2001 From: Grace Park Date: Wed, 16 Jun 2021 15:30:57 -0700 Subject: [PATCH 24/54] adding packages --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15d1441ff8..fb8190d3ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,6 +51,7 @@ "lodash": "^4.17.21", "lunr": "^2.3.9", "lunr-languages": "^1.4.0", + "mdast-util-to-string": "^2.0.0", "morgan": "^1.10.0", "next": "^10.2.3", "node-fetch": "^2.6.1", @@ -142,7 +143,7 @@ "jest-slow-test-reporter": "^1.0.0", "linkinator": "^2.13.6", "make-promises-safe": "^5.1.0", - "mdast-util-from-markdown": "^0.8.4", + "mdast-util-from-markdown": "^0.8.5", "mini-css-extract-plugin": "^1.6.0", "mkdirp": "^1.0.4", "mock-express-response": "^0.3.0", @@ -16116,8 +16117,7 @@ "node_modules/mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" }, "node_modules/mdurl": { "version": "1.0.1", @@ -38435,8 +38435,7 @@ "mdast-util-to-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" }, "mdurl": { "version": "1.0.1", diff --git a/package.json b/package.json index 43a33eea19..2ff784d528 100644 --- a/package.json +++ b/package.json @@ -149,7 +149,7 @@ "jest-slow-test-reporter": "^1.0.0", "linkinator": "^2.13.6", "make-promises-safe": "^5.1.0", - "mdast-util-from-markdown": "^0.8.4", + "mdast-util-from-markdown": "^0.8.5", "mini-css-extract-plugin": "^1.6.0", "mkdirp": "^1.0.4", "mock-express-response": "^0.3.0", From 87c176b9175991ff77bd575eed0a50801bb8fe10 Mon Sep 17 00:00:00 2001 From: Martin Lopes Date: Thu, 17 Jun 2021 08:50:41 +1000 Subject: [PATCH 25/54] Update building-and-testing-python.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed link so that we can present consistent GH actions versions to the user, such as checkout@v2, setup-python@v2. But let me know if you think this is essential 👍 --- content/actions/guides/building-and-testing-python.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index 907c8b85c3..dbb3998bfa 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -401,8 +401,6 @@ You can configure your workflow to publish your Python package to a package regi For this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). You can use secrets to store the access tokens or credentials needed to publish your package. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." -The Python Packaging Authority (PyPA) also has its own [guide to using {% data variables.product.prodname_actions %}](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows). - {% raw %} ```yaml{:copy} # This workflow uses actions that are not certified by GitHub. From 52a53cd525d14b193ae272271fba02370cd1a43b Mon Sep 17 00:00:00 2001 From: Grace Park Date: Wed, 16 Jun 2021 16:41:57 -0700 Subject: [PATCH 26/54] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2ff784d528..261d0a9a6f 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "lunr": "^2.3.9", "lunr-languages": "^1.4.0", "mdast-util-to-string": "^2.0.0", + "mdast-util-from-markdown": "^0.8.5", "morgan": "^1.10.0", "next": "^10.2.3", "node-fetch": "^2.6.1", @@ -149,7 +150,6 @@ "jest-slow-test-reporter": "^1.0.0", "linkinator": "^2.13.6", "make-promises-safe": "^5.1.0", - "mdast-util-from-markdown": "^0.8.5", "mini-css-extract-plugin": "^1.6.0", "mkdirp": "^1.0.4", "mock-express-response": "^0.3.0", From 36c54ea05f6e22d12a0d48cef2fa27d47fb5af6c Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 21:26:04 -0400 Subject: [PATCH 27/54] update old script --- script/helpers/walk-files.js | 17 +++ script/move-category-to-product.js | 159 ++++++++++------------------- 2 files changed, 72 insertions(+), 104 deletions(-) create mode 100644 script/helpers/walk-files.js diff --git a/script/helpers/walk-files.js b/script/helpers/walk-files.js new file mode 100644 index 0000000000..526fdbe2d7 --- /dev/null +++ b/script/helpers/walk-files.js @@ -0,0 +1,17 @@ +const path = require('path') +const walk = require('walk-sync') + +// [start-readme] +// +// A helper that returns an array of files for a given path and file extension. +// +// [end-readme] + +module.exports = function walkFiles (dir, ext, opts = {}) { + const dirPath = path.posix.join(process.cwd(), dir) + const walkSyncOpts = { includeBasePath: true, directories: false } + + return walk(dirPath, walkSyncOpts) + .filter(file => file.endsWith(ext) && !file.endsWith('README.md')) + .filter(file => opts.includeEarlyAccess ? file : !file.includes('/early-access/')) +} diff --git a/script/move-category-to-product.js b/script/move-category-to-product.js index 56ee85d798..3625478dff 100755 --- a/script/move-category-to-product.js +++ b/script/move-category-to-product.js @@ -1,129 +1,80 @@ #!/usr/bin/env node -const assert = require('assert') const fs = require('fs') const path = require('path') -const walk = require('walk-sync') +const mkdirp = require('mkdirp').sync +const program = require('commander') const { execSync } = require('child_process') -const matter = require('gray-matter') +const frontmatter = require('../lib/read-frontmatter') const addRedirectToFrontmatter = require('./helpers/add-redirect-to-frontmatter') -const contentDir = path.join(__dirname, '../content') +const walkFiles = require('./helpers/walk-files') +const contentFiles = walkFiles('content', '.md') +const contentDir = path.posix.join(process.cwd(), 'content') // [start-readme] // -// Pass this script three arguments: -// 1. current category path (e.g., `github/automating-your-workflows-with-github-actions`) -// 2. new product ID (e.g., `actions`) -// 3. new product name in quotes (e.g., `"GitHub Actions"`) -// and it does everything that needs to be done to make the category into a new product. +// Move the files from a category directory to a top-level product and add redirects. // // [end-readme] -// derive global values -const [relativePath, productId, productName] = process.argv.slice(2) -assert(relativePath, 'first arg must be a path to an existing category, e.g., github/working-with-github-pages') -assert(productId, 'second arg must be the ID of the new product, e.g., pages') -assert(productName, 'third arg must be the full name of the new product in quotes, e.g., "GitHub Pages"') -assert.strictEqual(relativePath.split('/').length, 2, 'first arg must only contain one slash, e.g., github/working-with-github-pages') +program + .description('Move a category-level docs set to the product level.') + .requiredOption('-c, --category ', 'Provide the path of the existing category, e.g., github/github-pages') + .requiredOption('-p, --product ', 'Provide the path of the new product, e.g., pages') + .parse(process.argv) -const oldCategoryDir = path.join(contentDir, relativePath) -assert(fs.existsSync(oldCategoryDir), `directory does not exist: ${oldCategoryDir}`) +const oldCategory = program.opts().category.replace('content/', '') +const newProduct = program.opts().product.replace('content/', '') -const productDir = path.join(contentDir, productId) +const [oldProductId, oldCategoryId] = oldCategory.split('/') +const oldCategoryPath = path.posix.join(contentDir, oldCategory) +const oldProductPath = path.posix.join(contentDir, oldProductId) -const [oldproductId, categoryName] = relativePath.split('/') - -// do all the moving/renaming/updating -makeNewProductDir() -moveFilesToNewDir() -createNewProductToc() -removeCategoryFromOldProductToc() -updateFrontmatter() - -console.log(`Moved files to content/${productId} and updated frontmatter!\n\nNext steps:\n`) - -// display data that needs to be manually added to lib files -printProductsModuleUpdate() -printFrontmatterSchemaUpdate() - -function makeNewProductDir () { - if (!fs.existsSync(productDir)) { - execSync(`mkdir ${productDir}`) - } +if (!fs.existsSync(oldProductPath)) { + console.error(`Error! Can't find ${oldProductPath}`) + process.exit(1) } -function moveFilesToNewDir () { - execSync(`git mv ${oldCategoryDir} ${productDir}`) +const oldCategoryFiles = contentFiles.filter(file => file.includes(`/${oldCategoryId}/`)) + +if (!oldCategoryFiles.length) { + console.error(`Error! Can't find ${oldCategory} files`) + process.exit(1) } -function createNewProductToc () { - const productTocPath = path.join(productDir, 'index.md') - const data = {} - data.title = `${productName} Documentation` - data.productVersions = {} - data.productVersions[productId] = '*' - const content = `\n{% link_with_intro /${categoryName} %}` +const newProductPath = path.posix.join(process.cwd(), 'content', newProduct) - fs.writeFileSync(productTocPath, matter.stringify(content, data, { lineWidth: 10000 })) -} +main() -function removeCategoryFromOldProductToc () { - const oldProductTocPath = path.join(contentDir, oldproductId, 'index.md') - const tocContents = fs.readFileSync(oldProductTocPath, 'utf8') - const { content, data } = matter(tocContents) +function main () { + // Create the new product dir. + mkdirp(newProductPath) - const link = `(\n)?\n{% link_in_list /${categoryName} %}\n()?` - - const newContent = content.replace(new RegExp(link), '') - - fs.writeFileSync(oldProductTocPath, matter.stringify(newContent, data, { lineWidth: 10000 })) -} - -function updateFrontmatter () { - const newCategoryDir = path.join(productDir, categoryName) - - // for every article in the category, update productVersions and redirect frontmatter - walk(newCategoryDir, { includeBasePath: true }).forEach(file => { - const articleContents = fs.readFileSync(file, 'utf8') - const { content, data } = matter(articleContents) - - const baseFilename = file.endsWith('index.md') ? '' : path.basename(file, '.md') - - const redirectString = path.join('/', oldproductId, categoryName, baseFilename) + // Add redirects to the frontmatter of the to-be-moved files. + oldCategoryFiles.forEach(file => { + const { content, data } = frontmatter(fs.readFileSync(file, 'utf8')) + const redirectString = file + .replace(contentDir, '') + .replace('index.md', '') + .replace('.md', '') data.redirect_from = addRedirectToFrontmatter(data.redirect_from, redirectString) - - data.productVersions = {} - data.productVersions[productId] = '*' - - const newContents = matter.stringify(content, data, { lineWidth: 10000 }) - fs.writeFileSync(file, newContents) + fs.writeFileSync(file, frontmatter.stringify(content, data, { lineWidth: 10000 })) }) -} - -function printProductsModuleUpdate () { - const newProduct = { - id: productId, - name: productName, - href: path.join('/', productId), - dir: path.join('content/', productId), - toc: path.join('content/', productId, 'index.md') - } - const obj = {} - obj[productId] = newProduct - - console.log('1. Add the following block to lib/products.js. Note: the order of this file determines the product order everywhere on the site.\n') - console.log(obj) -} - -function printFrontmatterSchemaUpdate () { - const newFrontmatter = { - type: 'string', - conform: '(add validSemverRange here)', - message: 'Must be a valid SemVer range' - } - const obj = {} - obj[productId] = newFrontmatter - - console.log('\n2. Add the following block to the productVersions object in lib/frontmatter.js (ordered alphabetically). Make sure the \'conform\' property looks like the others. \n') - console.log(obj) + + // // Move the files. + execSync(`git mv ${oldCategoryPath}/* ${newProductPath}`) + + // Remove the category from the old product TOC. + const oldProductTocPath = path.posix.join(oldProductPath, 'index.md') + const productToc = frontmatter(fs.readFileSync(oldProductTocPath, 'utf8')) + productToc.data.children = productToc.data.children.filter(child => child !== `/${oldCategoryId}`) + fs.writeFileSync(oldProductTocPath, frontmatter.stringify(productToc.content, productToc.data, { lineWidth: 10000 })) + + // Add the new product to the homepage TOC. + const homepage = path.posix.join(contentDir, 'index.md') + const homepageToc = frontmatter(fs.readFileSync(homepage, 'utf8')) + homepageToc.data.children.push(newProduct) + fs.writeFileSync(homepage, frontmatter.stringify(homepageToc.content, homepageToc.data, { lineWidth: 10000 })) + + console.log(`Moved ${oldCategory} files to ${newProduct}, added redirects, and updated TOCs!`) } From a04f3af1d997ef1bfda9add878a6f23972fa3475 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 21:56:04 -0400 Subject: [PATCH 28/54] Update script/move-category-to-product.js --- script/move-category-to-product.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/move-category-to-product.js b/script/move-category-to-product.js index 3625478dff..3eaf94a887 100755 --- a/script/move-category-to-product.js +++ b/script/move-category-to-product.js @@ -61,7 +61,7 @@ function main () { fs.writeFileSync(file, frontmatter.stringify(content, data, { lineWidth: 10000 })) }) - // // Move the files. + // Move the files. execSync(`git mv ${oldCategoryPath}/* ${newProductPath}`) // Remove the category from the old product TOC. From 1d4bd050da319c15804732ffe52d503558e370d7 Mon Sep 17 00:00:00 2001 From: Matt Pollard Date: Thu, 17 Jun 2021 08:39:31 +0200 Subject: [PATCH 29/54] Add known issue about Pages availability when replica nodes are offline (#19950) --- data/release-notes/enterprise-server/2-20/0.yml | 1 + data/release-notes/enterprise-server/2-20/1.yml | 1 + data/release-notes/enterprise-server/2-20/10.yml | 1 + data/release-notes/enterprise-server/2-20/11.yml | 1 + data/release-notes/enterprise-server/2-20/12.yml | 1 + data/release-notes/enterprise-server/2-20/13.yml | 1 + data/release-notes/enterprise-server/2-20/14.yml | 1 + data/release-notes/enterprise-server/2-20/15.yml | 1 + data/release-notes/enterprise-server/2-20/16.yml | 1 + data/release-notes/enterprise-server/2-20/17.yml | 1 + data/release-notes/enterprise-server/2-20/18.yml | 1 + data/release-notes/enterprise-server/2-20/19.yml | 1 + data/release-notes/enterprise-server/2-20/2.yml | 1 + data/release-notes/enterprise-server/2-20/20.yml | 1 + data/release-notes/enterprise-server/2-20/21.yml | 1 + data/release-notes/enterprise-server/2-20/22.yml | 1 + data/release-notes/enterprise-server/2-20/23.yml | 1 + data/release-notes/enterprise-server/2-20/24.yml | 1 + data/release-notes/enterprise-server/2-20/3.yml | 1 + data/release-notes/enterprise-server/2-20/4.yml | 1 + data/release-notes/enterprise-server/2-20/5.yml | 1 + data/release-notes/enterprise-server/2-20/6.yml | 1 + data/release-notes/enterprise-server/2-20/7.yml | 1 + data/release-notes/enterprise-server/2-20/8.yml | 1 + data/release-notes/enterprise-server/2-20/9.yml | 1 + data/release-notes/enterprise-server/2-21/0.yml | 1 + data/release-notes/enterprise-server/2-21/1.yml | 1 + data/release-notes/enterprise-server/2-21/10.yml | 1 + data/release-notes/enterprise-server/2-21/11.yml | 1 + data/release-notes/enterprise-server/2-21/12.yml | 1 + data/release-notes/enterprise-server/2-21/13.yml | 1 + data/release-notes/enterprise-server/2-21/14.yml | 1 + data/release-notes/enterprise-server/2-21/15.yml | 1 + data/release-notes/enterprise-server/2-21/16.yml | 1 + data/release-notes/enterprise-server/2-21/17.yml | 1 + data/release-notes/enterprise-server/2-21/18.yml | 1 + data/release-notes/enterprise-server/2-21/19.yml | 1 + data/release-notes/enterprise-server/2-21/2.yml | 1 + data/release-notes/enterprise-server/2-21/20.yml | 1 + data/release-notes/enterprise-server/2-21/21.yml | 1 + data/release-notes/enterprise-server/2-21/22.yml | 1 + data/release-notes/enterprise-server/2-21/23.yml | 1 + data/release-notes/enterprise-server/2-21/3.yml | 1 + data/release-notes/enterprise-server/2-21/4.yml | 1 + data/release-notes/enterprise-server/2-21/5.yml | 1 + data/release-notes/enterprise-server/2-21/6.yml | 1 + data/release-notes/enterprise-server/2-21/7.yml | 1 + data/release-notes/enterprise-server/2-21/8.yml | 1 + data/release-notes/enterprise-server/2-21/9.yml | 1 + data/release-notes/enterprise-server/2-22/0.yml | 1 + data/release-notes/enterprise-server/2-22/1.yml | 1 + data/release-notes/enterprise-server/2-22/10.yml | 1 + data/release-notes/enterprise-server/2-22/11.yml | 1 + data/release-notes/enterprise-server/2-22/12.yml | 1 + data/release-notes/enterprise-server/2-22/13.yml | 1 + data/release-notes/enterprise-server/2-22/14.yml | 1 + data/release-notes/enterprise-server/2-22/15.yml | 1 + data/release-notes/enterprise-server/2-22/2.yml | 1 + data/release-notes/enterprise-server/2-22/3.yml | 1 + data/release-notes/enterprise-server/2-22/4.yml | 1 + data/release-notes/enterprise-server/2-22/5.yml | 1 + data/release-notes/enterprise-server/2-22/6.yml | 1 + data/release-notes/enterprise-server/2-22/7.yml | 1 + data/release-notes/enterprise-server/2-22/8.yml | 1 + data/release-notes/enterprise-server/2-22/9.yml | 1 + data/release-notes/enterprise-server/3-0/0.yml | 1 + data/release-notes/enterprise-server/3-0/1.yml | 1 + data/release-notes/enterprise-server/3-0/2.yml | 1 + data/release-notes/enterprise-server/3-0/3.yml | 1 + data/release-notes/enterprise-server/3-0/4.yml | 1 + data/release-notes/enterprise-server/3-0/5.yml | 1 + data/release-notes/enterprise-server/3-0/6.yml | 1 + data/release-notes/enterprise-server/3-0/7.yml | 1 + data/release-notes/enterprise-server/3-0/8.yml | 1 + data/release-notes/enterprise-server/3-0/9.yml | 1 + data/release-notes/enterprise-server/3-1/0.yml | 1 + data/release-notes/enterprise-server/3-1/1.yml | 1 + 77 files changed, 77 insertions(+) diff --git a/data/release-notes/enterprise-server/2-20/0.yml b/data/release-notes/enterprise-server/2-20/0.yml index f98db2dac3..a013951fd4 100644 --- a/data/release-notes/enterprise-server/2-20/0.yml +++ b/data/release-notes/enterprise-server/2-20/0.yml @@ -41,3 +41,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. (updated 2020-04-07) {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/1.yml b/data/release-notes/enterprise-server/2-20/1.yml index 1443252b2e..1edc6f0037 100644 --- a/data/release-notes/enterprise-server/2-20/1.yml +++ b/data/release-notes/enterprise-server/2-20/1.yml @@ -18,3 +18,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. (updated 2020-04-07) {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/10.yml b/data/release-notes/enterprise-server/2-20/10.yml index 0ad337942d..dd032d2c05 100644 --- a/data/release-notes/enterprise-server/2-20/10.yml +++ b/data/release-notes/enterprise-server/2-20/10.yml @@ -18,3 +18,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/11.yml b/data/release-notes/enterprise-server/2-20/11.yml index b3882140d6..46e5c7329e 100644 --- a/data/release-notes/enterprise-server/2-20/11.yml +++ b/data/release-notes/enterprise-server/2-20/11.yml @@ -16,3 +16,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/12.yml b/data/release-notes/enterprise-server/2-20/12.yml index 3676b825d4..edf6e7559f 100644 --- a/data/release-notes/enterprise-server/2-20/12.yml +++ b/data/release-notes/enterprise-server/2-20/12.yml @@ -14,3 +14,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/13.yml b/data/release-notes/enterprise-server/2-20/13.yml index 45da9341ff..36ee341833 100644 --- a/data/release-notes/enterprise-server/2-20/13.yml +++ b/data/release-notes/enterprise-server/2-20/13.yml @@ -19,3 +19,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/14.yml b/data/release-notes/enterprise-server/2-20/14.yml index f50a3089c1..822fc9d0f4 100644 --- a/data/release-notes/enterprise-server/2-20/14.yml +++ b/data/release-notes/enterprise-server/2-20/14.yml @@ -10,3 +10,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/15.yml b/data/release-notes/enterprise-server/2-20/15.yml index aa3c664487..b5622c9f32 100644 --- a/data/release-notes/enterprise-server/2-20/15.yml +++ b/data/release-notes/enterprise-server/2-20/15.yml @@ -22,3 +22,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/16.yml b/data/release-notes/enterprise-server/2-20/16.yml index 79609121a5..5aa4be9795 100644 --- a/data/release-notes/enterprise-server/2-20/16.yml +++ b/data/release-notes/enterprise-server/2-20/16.yml @@ -10,3 +10,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/17.yml b/data/release-notes/enterprise-server/2-20/17.yml index e8c45cd718..f5d1c0decc 100644 --- a/data/release-notes/enterprise-server/2-20/17.yml +++ b/data/release-notes/enterprise-server/2-20/17.yml @@ -10,3 +10,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/18.yml b/data/release-notes/enterprise-server/2-20/18.yml index 4c180604a5..8cda7e436e 100644 --- a/data/release-notes/enterprise-server/2-20/18.yml +++ b/data/release-notes/enterprise-server/2-20/18.yml @@ -23,3 +23,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/19.yml b/data/release-notes/enterprise-server/2-20/19.yml index 456374eb0d..888ccc6eea 100644 --- a/data/release-notes/enterprise-server/2-20/19.yml +++ b/data/release-notes/enterprise-server/2-20/19.yml @@ -11,3 +11,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/2.yml b/data/release-notes/enterprise-server/2-20/2.yml index 767e20ab3f..9bafa389ed 100644 --- a/data/release-notes/enterprise-server/2-20/2.yml +++ b/data/release-notes/enterprise-server/2-20/2.yml @@ -25,3 +25,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. (updated 2020-04-07) {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/20.yml b/data/release-notes/enterprise-server/2-20/20.yml index b882fd06c0..f73670d87f 100644 --- a/data/release-notes/enterprise-server/2-20/20.yml +++ b/data/release-notes/enterprise-server/2-20/20.yml @@ -13,3 +13,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/21.yml b/data/release-notes/enterprise-server/2-20/21.yml index fe7880840d..d3b280cc4f 100644 --- a/data/release-notes/enterprise-server/2-20/21.yml +++ b/data/release-notes/enterprise-server/2-20/21.yml @@ -12,3 +12,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/22.yml b/data/release-notes/enterprise-server/2-20/22.yml index 083e011cb3..2bfe078443 100644 --- a/data/release-notes/enterprise-server/2-20/22.yml +++ b/data/release-notes/enterprise-server/2-20/22.yml @@ -16,3 +16,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/23.yml b/data/release-notes/enterprise-server/2-20/23.yml index 9fd06b50f7..284578b32a 100644 --- a/data/release-notes/enterprise-server/2-20/23.yml +++ b/data/release-notes/enterprise-server/2-20/23.yml @@ -10,3 +10,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/24.yml b/data/release-notes/enterprise-server/2-20/24.yml index c9c6470ca0..dce5ec62ad 100644 --- a/data/release-notes/enterprise-server/2-20/24.yml +++ b/data/release-notes/enterprise-server/2-20/24.yml @@ -25,3 +25,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters.' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.' - 'Security alerts are not reported when pushing to a repository on the command line.' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/3.yml b/data/release-notes/enterprise-server/2-20/3.yml index f2bab87d7a..022221e2f3 100644 --- a/data/release-notes/enterprise-server/2-20/3.yml +++ b/data/release-notes/enterprise-server/2-20/3.yml @@ -12,3 +12,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. (updated 2020-04-07) {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/4.yml b/data/release-notes/enterprise-server/2-20/4.yml index 9953f23451..a20b1808ba 100644 --- a/data/release-notes/enterprise-server/2-20/4.yml +++ b/data/release-notes/enterprise-server/2-20/4.yml @@ -15,3 +15,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. (updated 2020-04-07) {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/5.yml b/data/release-notes/enterprise-server/2-20/5.yml index f113bad459..fe0368387b 100644 --- a/data/release-notes/enterprise-server/2-20/5.yml +++ b/data/release-notes/enterprise-server/2-20/5.yml @@ -17,3 +17,4 @@ sections: - 'When upgrading from previous versions, background job workers may not be spawned, preventing essential features such as merging pull requests. {% comment %} https://github.com/github/enterprise2/issues/19232 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/6.yml b/data/release-notes/enterprise-server/2-20/6.yml index df23cf792d..9e4ee142e6 100644 --- a/data/release-notes/enterprise-server/2-20/6.yml +++ b/data/release-notes/enterprise-server/2-20/6.yml @@ -24,3 +24,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/7.yml b/data/release-notes/enterprise-server/2-20/7.yml index 8a67f051c3..8604e4f45f 100644 --- a/data/release-notes/enterprise-server/2-20/7.yml +++ b/data/release-notes/enterprise-server/2-20/7.yml @@ -18,3 +18,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/8.yml b/data/release-notes/enterprise-server/2-20/8.yml index add5c2ec09..4ed9daf124 100644 --- a/data/release-notes/enterprise-server/2-20/8.yml +++ b/data/release-notes/enterprise-server/2-20/8.yml @@ -17,3 +17,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-20/9.yml b/data/release-notes/enterprise-server/2-20/9.yml index 9c9512e6b4..df804d9c24 100644 --- a/data/release-notes/enterprise-server/2-20/9.yml +++ b/data/release-notes/enterprise-server/2-20/9.yml @@ -14,3 +14,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Dependency graph is not detecting dependencies when deployed in a cluster configuration with multiple Redis nodes. (updated 2020-06-30) {% comment %} https://github.com/github/dependency-graph/issues/81 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/0.yml b/data/release-notes/enterprise-server/2-21/0.yml index 8aaf343503..6ca5525e98 100644 --- a/data/release-notes/enterprise-server/2-21/0.yml +++ b/data/release-notes/enterprise-server/2-21/0.yml @@ -70,3 +70,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. (updated 2020-06-23) {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/1.yml b/data/release-notes/enterprise-server/2-21/1.yml index deafcf031f..d5c0d4cb97 100644 --- a/data/release-notes/enterprise-server/2-21/1.yml +++ b/data/release-notes/enterprise-server/2-21/1.yml @@ -18,3 +18,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/10.yml b/data/release-notes/enterprise-server/2-21/10.yml index 34e055f169..2c9912398f 100644 --- a/data/release-notes/enterprise-server/2-21/10.yml +++ b/data/release-notes/enterprise-server/2-21/10.yml @@ -12,3 +12,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/11.yml b/data/release-notes/enterprise-server/2-21/11.yml index 4948f9c59d..606bf949c7 100644 --- a/data/release-notes/enterprise-server/2-21/11.yml +++ b/data/release-notes/enterprise-server/2-21/11.yml @@ -15,3 +15,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/12.yml b/data/release-notes/enterprise-server/2-21/12.yml index 99dfcb7f93..5420d17a97 100644 --- a/data/release-notes/enterprise-server/2-21/12.yml +++ b/data/release-notes/enterprise-server/2-21/12.yml @@ -13,3 +13,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/13.yml b/data/release-notes/enterprise-server/2-21/13.yml index 6c6b99c3ab..82e4631890 100644 --- a/data/release-notes/enterprise-server/2-21/13.yml +++ b/data/release-notes/enterprise-server/2-21/13.yml @@ -16,3 +16,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/14.yml b/data/release-notes/enterprise-server/2-21/14.yml index c3c392375e..9b3797670d 100644 --- a/data/release-notes/enterprise-server/2-21/14.yml +++ b/data/release-notes/enterprise-server/2-21/14.yml @@ -10,3 +10,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/15.yml b/data/release-notes/enterprise-server/2-21/15.yml index 7926760a99..1d96fee086 100644 --- a/data/release-notes/enterprise-server/2-21/15.yml +++ b/data/release-notes/enterprise-server/2-21/15.yml @@ -30,3 +30,4 @@ sections: - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters.' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.' - 'Security alerts are not reported when pushing to a repository on the command line.' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/16.yml b/data/release-notes/enterprise-server/2-21/16.yml index ac4c83fe6d..4736838b30 100644 --- a/data/release-notes/enterprise-server/2-21/16.yml +++ b/data/release-notes/enterprise-server/2-21/16.yml @@ -11,3 +11,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-21/17.yml b/data/release-notes/enterprise-server/2-21/17.yml index 4f4ba8f132..0086fd7802 100644 --- a/data/release-notes/enterprise-server/2-21/17.yml +++ b/data/release-notes/enterprise-server/2-21/17.yml @@ -24,3 +24,4 @@ sections: printf "PATH=/usr/local/sbin:/usr/local/bin:/usr/local/share/enterprise:/usr/sbin:/usr/bin:/sbin:/bin\n29,59 * * * * root /usr/sbin/logrotate /etc/logrotate.conf\n" | sudo sponge /etc/cron.d/logrotate sudo /usr/sbin/logrotate -f /etc/logrotate.conf ``` + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-21/18.yml b/data/release-notes/enterprise-server/2-21/18.yml index 2602e72c09..1efe66af7f 100644 --- a/data/release-notes/enterprise-server/2-21/18.yml +++ b/data/release-notes/enterprise-server/2-21/18.yml @@ -13,3 +13,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/19.yml b/data/release-notes/enterprise-server/2-21/19.yml index 58121049c3..6be34a199a 100644 --- a/data/release-notes/enterprise-server/2-21/19.yml +++ b/data/release-notes/enterprise-server/2-21/19.yml @@ -15,3 +15,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/2.yml b/data/release-notes/enterprise-server/2-21/2.yml index e2ebe43f81..ecf4b02c46 100644 --- a/data/release-notes/enterprise-server/2-21/2.yml +++ b/data/release-notes/enterprise-server/2-21/2.yml @@ -18,3 +18,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/20.yml b/data/release-notes/enterprise-server/2-21/20.yml index 65f8ab3b76..da65139d80 100644 --- a/data/release-notes/enterprise-server/2-21/20.yml +++ b/data/release-notes/enterprise-server/2-21/20.yml @@ -16,3 +16,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/21.yml b/data/release-notes/enterprise-server/2-21/21.yml index 988f85ca78..c5de73a768 100644 --- a/data/release-notes/enterprise-server/2-21/21.yml +++ b/data/release-notes/enterprise-server/2-21/21.yml @@ -12,3 +12,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/22.yml b/data/release-notes/enterprise-server/2-21/22.yml index 832a71b0ca..790fbe4e39 100644 --- a/data/release-notes/enterprise-server/2-21/22.yml +++ b/data/release-notes/enterprise-server/2-21/22.yml @@ -13,3 +13,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/23.yml b/data/release-notes/enterprise-server/2-21/23.yml index b850f751a5..3716c433b7 100644 --- a/data/release-notes/enterprise-server/2-21/23.yml +++ b/data/release-notes/enterprise-server/2-21/23.yml @@ -13,3 +13,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - Security alerts are not reported when pushing to a repository on the command line. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/3.yml b/data/release-notes/enterprise-server/2-21/3.yml index b9f06ad896..8a3fd7d4cc 100644 --- a/data/release-notes/enterprise-server/2-21/3.yml +++ b/data/release-notes/enterprise-server/2-21/3.yml @@ -15,3 +15,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/4.yml b/data/release-notes/enterprise-server/2-21/4.yml index d3cded02fc..4eb1e9e582 100644 --- a/data/release-notes/enterprise-server/2-21/4.yml +++ b/data/release-notes/enterprise-server/2-21/4.yml @@ -25,3 +25,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/5.yml b/data/release-notes/enterprise-server/2-21/5.yml index b5ddf7652f..fa46636234 100644 --- a/data/release-notes/enterprise-server/2-21/5.yml +++ b/data/release-notes/enterprise-server/2-21/5.yml @@ -13,3 +13,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/6.yml b/data/release-notes/enterprise-server/2-21/6.yml index 03c71afb3a..f8d72193cd 100644 --- a/data/release-notes/enterprise-server/2-21/6.yml +++ b/data/release-notes/enterprise-server/2-21/6.yml @@ -25,3 +25,4 @@ sections: - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' - "Configuring a repository's permission to `Triage` or `Maintain` fails with an error message." + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/7.yml b/data/release-notes/enterprise-server/2-21/7.yml index 994797e2d5..7f2ec280c2 100644 --- a/data/release-notes/enterprise-server/2-21/7.yml +++ b/data/release-notes/enterprise-server/2-21/7.yml @@ -12,3 +12,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/8.yml b/data/release-notes/enterprise-server/2-21/8.yml index 6e1f356472..0bada09136 100644 --- a/data/release-notes/enterprise-server/2-21/8.yml +++ b/data/release-notes/enterprise-server/2-21/8.yml @@ -13,3 +13,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-21/9.yml b/data/release-notes/enterprise-server/2-21/9.yml index ced8158493..8be05dfa05 100644 --- a/data/release-notes/enterprise-server/2-21/9.yml +++ b/data/release-notes/enterprise-server/2-21/9.yml @@ -26,3 +26,4 @@ sections: - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' - 'Security alerts are not reported when pushing to a repository on the command line. {% comment %} https://github.com/github/github/issues/143190 {% endcomment %}' - 'Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-22/0.yml b/data/release-notes/enterprise-server/2-22/0.yml index 28d664e253..8525a93483 100644 --- a/data/release-notes/enterprise-server/2-22/0.yml +++ b/data/release-notes/enterprise-server/2-22/0.yml @@ -140,3 +140,4 @@ sections: - GitHub usernames may change unintentionally when using SAML authentication, if the GitHub username does not match the value of the attribute mapped to the `username` field in the Management Console. (updated 2020-10-08) {% comment %} https://github.com/github/external-identities/issues/335 {% endcomment %} - On a freshly set up 2.22.0 instance or after upgrading to 2.22.0, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/1.yml b/data/release-notes/enterprise-server/2-22/1.yml index 022e259101..928b7fa41c 100644 --- a/data/release-notes/enterprise-server/2-22/1.yml +++ b/data/release-notes/enterprise-server/2-22/1.yml @@ -71,3 +71,4 @@ sections: - GitHub Actions can fail to start up successfully if it was previously enabled on an instance running 2.22.0 and is upgraded to 2.22.1. (updated 2020-10-23) {% comment %} https://github.com/github/c2c-actions/issues/1680 {% endcomment %} - On a freshly set up 2.22.1 instance or after upgrading to 2.22.1, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/10.yml b/data/release-notes/enterprise-server/2-22/10.yml index 508bea029d..4f40bbb01a 100644 --- a/data/release-notes/enterprise-server/2-22/10.yml +++ b/data/release-notes/enterprise-server/2-22/10.yml @@ -13,3 +13,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/11.yml b/data/release-notes/enterprise-server/2-22/11.yml index 91e3878923..65ea42d038 100644 --- a/data/release-notes/enterprise-server/2-22/11.yml +++ b/data/release-notes/enterprise-server/2-22/11.yml @@ -16,3 +16,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/12.yml b/data/release-notes/enterprise-server/2-22/12.yml index d29e153b16..14248f149c 100644 --- a/data/release-notes/enterprise-server/2-22/12.yml +++ b/data/release-notes/enterprise-server/2-22/12.yml @@ -19,3 +19,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/13.yml b/data/release-notes/enterprise-server/2-22/13.yml index ef2e094cea..027fc8ba41 100644 --- a/data/release-notes/enterprise-server/2-22/13.yml +++ b/data/release-notes/enterprise-server/2-22/13.yml @@ -17,3 +17,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/14.yml b/data/release-notes/enterprise-server/2-22/14.yml index 8bb48c321c..025475faf0 100644 --- a/data/release-notes/enterprise-server/2-22/14.yml +++ b/data/release-notes/enterprise-server/2-22/14.yml @@ -15,3 +15,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/15.yml b/data/release-notes/enterprise-server/2-22/15.yml index 93a4b612e1..ea41c4c259 100644 --- a/data/release-notes/enterprise-server/2-22/15.yml +++ b/data/release-notes/enterprise-server/2-22/15.yml @@ -13,3 +13,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/2.yml b/data/release-notes/enterprise-server/2-22/2.yml index 98bc473105..42e92d228d 100644 --- a/data/release-notes/enterprise-server/2-22/2.yml +++ b/data/release-notes/enterprise-server/2-22/2.yml @@ -28,3 +28,4 @@ sections: - GitHub Actions can fail to start up successfully if it was previously enabled on an instance running 2.22.0 and is upgraded to 2.22.2. (updated 2020-10-23) {% comment %} https://github.com/github/c2c-actions/issues/1680 {% endcomment %} - On a freshly set up 2.22.2 instance or after upgrading to 2.22.2, the activity feed on an organization's dashboard will no longer update. (updated 2020-10-27) {% comment %}https://github.com/github/enterprise2/issues/23050{% endcomment %} - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. (updated 2020-11-02) {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/3.yml b/data/release-notes/enterprise-server/2-22/3.yml index 31076af63a..83b8ebfa6a 100644 --- a/data/release-notes/enterprise-server/2-22/3.yml +++ b/data/release-notes/enterprise-server/2-22/3.yml @@ -22,3 +22,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} - Audit logs may be attributed to 127.0.0.1 instead of the actual source IP address. {% comment %} https://github.com/github/enterprise2/issues/21514 {% endcomment %} + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/4.yml b/data/release-notes/enterprise-server/2-22/4.yml index a4bc3fa24b..cccadef9a1 100644 --- a/data/release-notes/enterprise-server/2-22/4.yml +++ b/data/release-notes/enterprise-server/2-22/4.yml @@ -15,3 +15,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %} - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %} - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %} + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/5.yml b/data/release-notes/enterprise-server/2-22/5.yml index 3498f14906..c5de818bb8 100644 --- a/data/release-notes/enterprise-server/2-22/5.yml +++ b/data/release-notes/enterprise-server/2-22/5.yml @@ -19,3 +19,4 @@ sections: - 'Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %}' - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-22/6.yml b/data/release-notes/enterprise-server/2-22/6.yml index 82016efbf8..bcf822612e 100644 --- a/data/release-notes/enterprise-server/2-22/6.yml +++ b/data/release-notes/enterprise-server/2-22/6.yml @@ -15,3 +15,4 @@ sections: - 'Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. {% comment %} https://github.com/github/github/issues/54684 {% endcomment %}' - 'Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. {% comment %} https://github.com/github/github/issues/107731 {% endcomment %}' - 'When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. {% comment %} https://github.com/github/admin-experience/issues/571 {% endcomment %}' + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/2-22/7.yml b/data/release-notes/enterprise-server/2-22/7.yml index 8633c474dc..094ce031ed 100644 --- a/data/release-notes/enterprise-server/2-22/7.yml +++ b/data/release-notes/enterprise-server/2-22/7.yml @@ -54,3 +54,4 @@ sections: ``` 2. If it shows one or more nodes are affected, reboot the affected nodes. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/8.yml b/data/release-notes/enterprise-server/2-22/8.yml index 87fb8936b4..cee7e07523 100644 --- a/data/release-notes/enterprise-server/2-22/8.yml +++ b/data/release-notes/enterprise-server/2-22/8.yml @@ -34,3 +34,4 @@ sections: ``` 2. If it shows one or more nodes are affected, reboot the affected nodes. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/2-22/9.yml b/data/release-notes/enterprise-server/2-22/9.yml index e567dad9ef..b8db4a83f2 100644 --- a/data/release-notes/enterprise-server/2-22/9.yml +++ b/data/release-notes/enterprise-server/2-22/9.yml @@ -30,3 +30,4 @@ sections: printf "PATH=/usr/local/sbin:/usr/local/bin:/usr/local/share/enterprise:/usr/sbin:/usr/bin:/sbin:/bin\n29,59 * * * * root /usr/sbin/logrotate /etc/logrotate.conf\n" | sudo sponge /etc/cron.d/logrotate sudo /usr/sbin/logrotate -f /etc/logrotate.conf ``` + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/3-0/0.yml b/data/release-notes/enterprise-server/3-0/0.yml index 76c607039f..d98405c126 100644 --- a/data/release-notes/enterprise-server/3-0/0.yml +++ b/data/release-notes/enterprise-server/3-0/0.yml @@ -133,6 +133,7 @@ sections: - Instances with a custom timezone that were upgraded from an earlier release of GitHub Enterprise Server may have incorrect timestamps in the web UI. - Old builds of Pages are not cleaned up, which could fill up the user disk (`/data/user/`). - When deleting a branch after merging a pull request, an error message appears although the branch deletion succeeds. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. deprecations: - heading: Deprecation of GitHub Enterprise Server 2.19 diff --git a/data/release-notes/enterprise-server/3-0/1.yml b/data/release-notes/enterprise-server/3-0/1.yml index a6cdaaada6..7ef560d3e7 100644 --- a/data/release-notes/enterprise-server/3-0/1.yml +++ b/data/release-notes/enterprise-server/3-0/1.yml @@ -67,3 +67,4 @@ sections: ``` 2. If it shows one or more nodes are affected, reboot the affected nodes. + - 'When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.' diff --git a/data/release-notes/enterprise-server/3-0/2.yml b/data/release-notes/enterprise-server/3-0/2.yml index e6bda3f22f..b9ac6a7920 100644 --- a/data/release-notes/enterprise-server/3-0/2.yml +++ b/data/release-notes/enterprise-server/3-0/2.yml @@ -53,3 +53,4 @@ sections: ``` 2. If it shows one or more nodes are affected, reboot the affected nodes. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/3.yml b/data/release-notes/enterprise-server/3-0/3.yml index 952e61c7b0..6781986ba2 100644 --- a/data/release-notes/enterprise-server/3-0/3.yml +++ b/data/release-notes/enterprise-server/3-0/3.yml @@ -38,3 +38,4 @@ sections: printf "PATH=/usr/local/sbin:/usr/local/bin:/usr/local/share/enterprise:/usr/sbin:/usr/bin:/sbin:/bin\n29,59 * * * * root /usr/sbin/logrotate /etc/logrotate.conf\n" | sudo sponge /etc/cron.d/logrotate sudo /usr/sbin/logrotate -f /etc/logrotate.conf ``` + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/4.yml b/data/release-notes/enterprise-server/3-0/4.yml index 1f0a4162f2..2bc5733e40 100644 --- a/data/release-notes/enterprise-server/3-0/4.yml +++ b/data/release-notes/enterprise-server/3-0/4.yml @@ -23,3 +23,4 @@ sections: - Jupyter Notebook rendering in the web UI may fail if the notebook includes non-ASCII UTF-8 characters. - reStructuredText (RST) rendering in the web UI may fail and instead display raw RST markup text. - When deleting a branch after merging a pull request, an error message appears although the branch deletion succeeds. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/5.yml b/data/release-notes/enterprise-server/3-0/5.yml index a51075e523..18493b64af 100644 --- a/data/release-notes/enterprise-server/3-0/5.yml +++ b/data/release-notes/enterprise-server/3-0/5.yml @@ -24,3 +24,4 @@ sections: - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. - When deleting a branch after merging a pull request, an error message appears although the branch deletion succeeds. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/6.yml b/data/release-notes/enterprise-server/3-0/6.yml index 02ca33be85..005ef4c59f 100644 --- a/data/release-notes/enterprise-server/3-0/6.yml +++ b/data/release-notes/enterprise-server/3-0/6.yml @@ -27,3 +27,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/7.yml b/data/release-notes/enterprise-server/3-0/7.yml index 81a7664d54..081822953c 100644 --- a/data/release-notes/enterprise-server/3-0/7.yml +++ b/data/release-notes/enterprise-server/3-0/7.yml @@ -20,3 +20,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/8.yml b/data/release-notes/enterprise-server/3-0/8.yml index bbc460cd92..e96b4d1b1a 100644 --- a/data/release-notes/enterprise-server/3-0/8.yml +++ b/data/release-notes/enterprise-server/3-0/8.yml @@ -23,3 +23,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository where the file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-0/9.yml b/data/release-notes/enterprise-server/3-0/9.yml index dbfd1b9691..e11469acbe 100644 --- a/data/release-notes/enterprise-server/3-0/9.yml +++ b/data/release-notes/enterprise-server/3-0/9.yml @@ -20,3 +20,4 @@ sections: - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. diff --git a/data/release-notes/enterprise-server/3-1/0.yml b/data/release-notes/enterprise-server/3-1/0.yml index 18cc321a15..a774651367 100644 --- a/data/release-notes/enterprise-server/3-1/0.yml +++ b/data/release-notes/enterprise-server/3-1/0.yml @@ -137,6 +137,7 @@ sections: ``` ghe-actions-console -s actions -c "Queue-ServiceJob -JobId 4DB1F4CF-19FD-40E0-A253-91288813DE8B" ``` + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. deprecations: - heading: Deprecation of GitHub Enterprise Server 2.20 diff --git a/data/release-notes/enterprise-server/3-1/1.yml b/data/release-notes/enterprise-server/3-1/1.yml index 8886519b82..535b626252 100644 --- a/data/release-notes/enterprise-server/3-1/1.yml +++ b/data/release-notes/enterprise-server/3-1/1.yml @@ -25,3 +25,4 @@ sections: ``` ghe-actions-console -s actions -c "Queue-ServiceJob -JobId 4DB1F4CF-19FD-40E0-A253-91288813DE8B" ``` + - When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users. From 85d37a2fe3ccf035c01d2fd9f4276fbf6781d8b5 Mon Sep 17 00:00:00 2001 From: Jurre Date: Thu, 17 Jun 2021 10:57:51 +0200 Subject: [PATCH 30/54] Dependabot: add note about IP allowlist (#19958) * Dependabot: add note about IP allowlist We sometimes get questions from customers using private registries about adding dependabot to their ip-allowlist. We expose the IP addresses that dependabot makes updates from in our API, this explains that * Apply suggestions from code review * Apply suggestions from code review * Update content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../managing-encrypted-secrets-for-dependabot.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md index fda3222a9e..07e3dfe2f5 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md @@ -79,3 +79,7 @@ When creating a secret in an organization, you can use a policy to limit which r The name of the secret is listed on the Dependabot secrets page. You can click **Update** to change the secret value or its access policy. You can click **Remove** to delete the secret. ![Update or remove an organization secret](/assets/images/help/dependabot/update-remove-repo-secret.png) + +## Adding {% data variables.product.prodname_dependabot %} to your registries IP allow list + +If your private registry is configured with an IP allow list, you can find the IP addresses {% data variables.product.prodname_dependabot %} uses to access the registry in the meta API endpoint, under the `dependabot` key. For more information, see "[Meta](/rest/reference/meta)." From 2c520144a39cba5587be902ff02d5a6f250a0f4f Mon Sep 17 00:00:00 2001 From: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com> Date: Thu, 17 Jun 2021 07:08:43 -0400 Subject: [PATCH 31/54] Update OpenAPI Descriptions (#19977) --- lib/rest/static/dereferenced/api.github.com.deref.json | 6 ++++++ lib/rest/static/dereferenced/github.ae.deref.json | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index e174e07861..1dbb227218 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -208851,6 +208851,12 @@ } } }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + }, "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { "post": { "summary": "Ping a repository webhook", diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index b6d9fde6a6..48e3e28067 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -162990,6 +162990,12 @@ } } }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + }, + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + }, "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { "post": { "summary": "Ping a repository webhook", From fb928dfa705e1ba21e96bb84e4ea4bd8d6834bbf Mon Sep 17 00:00:00 2001 From: Matt Pollard Date: Thu, 17 Jun 2021 15:13:30 +0200 Subject: [PATCH 32/54] Update logic to check for valid version number in release notes middleware (#19981) --- middleware/contextualizers/release-notes.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/middleware/contextualizers/release-notes.js b/middleware/contextualizers/release-notes.js index 477c5cd2ad..b32e4f7fc9 100644 --- a/middleware/contextualizers/release-notes.js +++ b/middleware/contextualizers/release-notes.js @@ -17,13 +17,13 @@ module.exports = async function releaseNotesContext (req, res, next) { const [requestedPlan, requestedRelease] = req.context.currentVersion.split('@') const releaseNotesPerPlan = req.context.site.data['release-notes'][requestedPlan] - // 404 if no release notes can be found or the requested release is not valid - if (!releaseNotesPerPlan) return next() - if (!all.includes(requestedRelease)) return next() - // Release notes handling differs if version has numbered releases (like GHES) or not (like GHAE) const hasNumberedReleases = !(requestedRelease === 'latest') + // 404 if no release notes can be found or the requested release is not valid + if (!releaseNotesPerPlan) return next() + if (hasNumberedReleases && !all.includes(requestedRelease)) return next() + // GHES gets handled here... if (hasNumberedReleases) { const currentReleaseNotes = releaseNotesPerPlan[`${requestedRelease.replace(/\./g, '-')}`] From c4076da967e7e2756700735d157461c2466981fe Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 17 Jun 2021 09:33:45 -0400 Subject: [PATCH 33/54] test for release notes content, not just response --- tests/routing/release-notes.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/routing/release-notes.js b/tests/routing/release-notes.js index bbf08d1e2a..ccc500ac78 100644 --- a/tests/routing/release-notes.js +++ b/tests/routing/release-notes.js @@ -1,4 +1,4 @@ -const { get } = require('../helpers/supertest') +const { get, getDOM } = require('../helpers/supertest') describe('release notes', () => { jest.setTimeout(60 * 1000) @@ -17,12 +17,19 @@ describe('release notes', () => { }) it('renders the release-notes layout if this version\'s release notes are in this repo', async () => { - const res = await get('/en/enterprise-server@2.22/admin/release-notes') - expect(res.statusCode).toBe(200) + const $ = await getDOM('/en/enterprise-server@2.22/admin/release-notes') + expect($('h1').text()).toBe('Enterprise Server 2.22 release notes') + expect($('h2').first().text().trim().startsWith('Enterprise Server 2.22.')).toBe(true) }) it('renders the release-notes layout for GitHub AE', async () => { - const res = await get('/en/github-ae@latest/admin/release-notes') - expect(res.statusCode).toBe(200) + const $ = await getDOM('/en/github-ae@latest/admin/release-notes') + expect($('h1').text()).toBe('GitHub AE release notes') + expect($('h2').first().text().trim().startsWith('Week of')).toBe(true) + }) + + it('sends a 404 if a bogus version is requested', async () => { + const res = await get('/en/enterprise-server@12345/admin/release-notes') + expect(res.statusCode).toBe(404) }) }) From 02f360a71b8fa8a6a091d125173786907ef06220 Mon Sep 17 00:00:00 2001 From: Grace Park Date: Thu, 17 Jun 2021 08:28:23 -0700 Subject: [PATCH 34/54] remove mistakenly added directory --- ...-licensing-for-github-advanced-security.md | 39 -------- ...guring-code-scanning-for-your-appliance.md | 80 ---------------- ...ring-secret-scanning-for-your-appliance.md | 79 ---------------- ...b-advanced-security-for-your-enterprise.md | 94 ------------------- .../index.md | 22 ----- ...ing-your-github-advanced-security-usage.md | 29 ------ 6 files changed, 343 deletions(-) delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/about-licensing-for-github-advanced-security.md delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/index.md delete mode 100644 content/admin/managing-github-advanced-security-for-your-enterprise/viewing-your-github-advanced-security-usage.md diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/about-licensing-for-github-advanced-security.md b/content/admin/managing-github-advanced-security-for-your-enterprise/about-licensing-for-github-advanced-security.md deleted file mode 100644 index 862ff205e9..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/about-licensing-for-github-advanced-security.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: About licensing for GitHub Advanced Security -intro: 'You need a license to use {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}.' -product: '{% data reusables.gated-features.ghas %}' -versions: - enterprise-server: '>=3.1' -type: overview -topics: - - Advanced Security - - Enterprise - - Licensing - - Security -redirect_from: - - /admin/advanced-security/about-licensing-for-github-advanced-security ---- - -## About licensing for {% data variables.product.prodname_GH_advanced_security %} - -You can make extra features for code security available to users by buying and uploading a license for {% data variables.product.prodname_GH_advanced_security %}. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." - -{% data reusables.advanced-security.license-overview %} - -To discuss licensing {% data variables.product.prodname_GH_advanced_security %} for {% data variables.product.product_name %}, contact {% data variables.contact.contact_enterprise_sales %}. To enable {% data variables.product.prodname_GH_advanced_security %}, see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your appliance](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)." - -## About committer numbers for {% data variables.product.prodname_GH_advanced_security %} - -{% data reusables.advanced-security.about-committer-numbers-ghec-ghes %} - -## Managing your license usage for {% data variables.product.prodname_GH_advanced_security %} - -{% data reusables.advanced-security.managing-license-usage-ghec-ghes %} - -You can enforce policies to allow or disallow the use of {% data variables.product.prodname_advanced_security %} by organizations owned by your enterprise account. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)." - -For more information on viewing license usage, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/admin/advanced-security/viewing-your-github-advanced-security-usage)." - -## Getting the most out of your {% data variables.product.prodname_GH_advanced_security %} license - -{% data reusables.advanced-security.getting-the-most-from-your-license %} diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md b/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md deleted file mode 100644 index 95419dcd7a..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Configuring code scanning for your appliance -shortTitle: Configuring code scanning -intro: 'You can enable, configure and disable {% data variables.product.prodname_code_scanning %} for {% data variables.product.product_location %}. {% data variables.product.prodname_code_scanning_capc %} allows users to scan code for vulnerabilities and errors.' -product: '{% data reusables.gated-features.code-scanning %}' -miniTocMaxHeadingLevel: 3 -redirect_from: - - /enterprise/admin/configuration/configuring-code-scanning-for-your-appliance - - /admin/configuration/configuring-code-scanning-for-your-appliance - - /admin/advanced-security/configuring-code-scanning-for-your-appliance -versions: - enterprise-server: '>=2.22' -type: how_to -topics: - - Advanced Security - - Code scanning - - Enterprise - - Security ---- - -{% data reusables.code-scanning.beta %} - -## About {% data variables.product.prodname_code_scanning %} - -{% data reusables.code-scanning.about-code-scanning %} - -You can configure {% data variables.product.prodname_code_scanning %} to run {% data variables.product.prodname_codeql %} analysis and third-party analysis. {% data variables.product.prodname_code_scanning_capc %} also supports running analysis natively using {% data variables.product.prodname_actions %} or externally using existing CI/CD infrastructure. The table below summarizes all the options available to users when you configure {% data variables.product.product_location %} to allow {% data variables.product.prodname_code_scanning %} using actions. - -{% data reusables.code-scanning.enabling-options %} - -## Prerequisites for {% data variables.product.prodname_code_scanning %} - -- A license for {% data variables.product.prodname_GH_advanced_security %}{% if currentVersion ver_gt "enterprise-server@3.0" %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} - -- {% data variables.product.prodname_code_scanning_capc %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") - -- A VM or container for {% data variables.product.prodname_code_scanning %} analysis to run in. - -## Running {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_actions %} - -### Setting up a self-hosted runner - -{% data variables.product.prodname_ghe_server %} can run {% data variables.product.prodname_code_scanning %} using a {% data variables.product.prodname_actions %} workflow. First, you need to provision one or more self-hosted {% data variables.product.prodname_actions %} runners in your environment. You can provision self-hosted runners at the repository, organization, or enterprise account level. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." - -You must ensure that Git is in the PATH variable on any self-hosted runners you use to run {% data variables.product.prodname_codeql %} actions. - -### Provisioning the actions for {% data variables.product.prodname_code_scanning %} - -{% if currentVersion ver_gt "enterprise-server@2.22" %} -If you want to use actions to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %}, the actions must be available on your appliance. - -The {% data variables.product.prodname_codeql %} action is included in your installation of {% data variables.product.prodname_ghe_server %}. If {% data variables.product.prodname_ghe_server %} has access to the internet, the action will automatically download the {% data variables.product.prodname_codeql %} bundle required to perform analysis. Alternatively, you can use a synchronization tool to make the {% data variables.product.prodname_codeql %} analysis bundle available locally. For more information, see "[Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access](#configuring-codeql-analysis-on-a-server-without-internet-access)" below. - -You can also make third-party actions available to users for {% data variables.product.prodname_code_scanning %}, by setting up {% data variables.product.prodname_github_connect %}. For more information, see "[Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %}](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance#configuring-github-connect-to-sync-github-actions)" below. - -### Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access -If the server on which you are running {% data variables.product.prodname_ghe_server %} is not connected to the internet, and you want to allow users to enable {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for their repositories, you must use the {% data variables.product.prodname_codeql %} action sync tool to copy the {% data variables.product.prodname_codeql %} analysis bundle from {% data variables.product.prodname_dotcom_the_website %} to your server. The tool, and details of how to use it, are available at [https://github.com/github/codeql-action-sync-tool](https://github.com/github/codeql-action-sync-tool/). - -If you set up the {% data variables.product.prodname_codeql %} action sync tool, you can use it to sync the latest releases of the {% data variables.product.prodname_codeql %} action and associated {% data variables.product.prodname_codeql %} analysis bundle. These are compatible with {% data variables.product.prodname_ghe_server %}. - -{% endif %} - -{% if currentVersion == "enterprise-server@2.22" %} -To run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %} with {% data variables.product.prodname_actions %}, the appropriate actions must be available locally. You can make the actions available in three ways. - -- **Recommended**: You can use [{% data variables.product.prodname_github_connect %}](/enterprise/admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud) to automatically download actions from {% data variables.product.prodname_dotcom_the_website %}. The machine that hosts your instance must be able to access {% data variables.product.prodname_dotcom_the_website %}. This approach ensures that you get the latest software automatically. For more information, see "[Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %}](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance#configuring-github-connect-to-sync-github-actions)." -- If you want to use the {% data variables.product.prodname_codeql_workflow %}, you can sync the repository from {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.prodname_ghe_server %}, by using the {% data variables.product.prodname_codeql %} Action sync tool available at [https://github.com/github/codeql-action-sync-tool](https://github.com/github/codeql-action-sync-tool/). You can use this tool regardless of whether {% data variables.product.product_location %} or your {% data variables.product.prodname_actions %} runners have access to the internet, as long as you can access both {% data variables.product.product_location %} and {% data variables.product.prodname_dotcom_the_website %} simultaneously on your computer. -- You can create a local copy of an action's repository on your server, by cloning the {% data variables.product.prodname_dotcom_the_website %} repository that contains the action. For example, if you want to use the actions for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}, you can create a repository in your instance called `github/codeql-action`, then clone the [repository](https://github.com/github/codeql-action) from {% data variables.product.prodname_dotcom_the_website %}, and then push that repository to your instance's `github/codeql-action` repository. You will also need to download any of the releases from the repository on {% data variables.product.prodname_dotcom_the_website %} and upload them to your instance's `github/codeql-action` repository as releases. -{% endif %} - -### Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %} -1. If you want to download action workflows on demand from {% data variables.product.prodname_dotcom_the_website %}, you need to enable {% data variables.product.prodname_github_connect %}. For more information, see "[Enabling {% data variables.product.prodname_github_connect %}](/enterprise/admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud#enabling-github-connect)." -2. You'll also need to enable {% data variables.product.prodname_actions %} for {% data variables.product.product_location %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server)." -3. The next step is to configure access to actions on {% data variables.product.prodname_dotcom_the_website %} using {% data variables.product.prodname_github_connect %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." -4. Add a self-hosted runner to your repository, organization, or enterprise account. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." - -## Running {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_runner %} -If you don't want to use {% data variables.product.prodname_actions %}, you can run {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_runner %}. - -The {% data variables.product.prodname_codeql_runner %} is a command-line tool that you can add to your third-party CI/CD system. The tool runs {% data variables.product.prodname_codeql %} analysis on a checkout of a {% data variables.product.prodname_dotcom %} repository. For more information, see "[Running {% data variables.product.prodname_code_scanning %} in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)." diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md b/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md deleted file mode 100644 index 14ea9de3a7..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Configuring secret scanning for your appliance -shortTitle: Configuring secret scanning -intro: 'You can enable, configure, and disable {% data variables.product.prodname_secret_scanning %} for {% data variables.product.product_location %}. {% data variables.product.prodname_secret_scanning_caps %} allows users to scan code for accidentally committed secrets.' -product: '{% data reusables.gated-features.secret-scanning %}' -miniTocMaxHeadingLevel: 3 -redirect_from: - - /admin/configuration/configuring-secret-scanning-for-your-appliance - - /admin/advanced-security/configuring-secret-scanning-for-your-appliance -versions: - enterprise-server: '>=3.0' -type: how_to -topics: - - Advanced Security - - Enterprise - - Secret scanning - - Security ---- - -{% data reusables.secret-scanning.beta %} - -## About {% data variables.product.prodname_secret_scanning %} - -{% data reusables.secret-scanning.about-secret-scanning %} For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/about-secret-scanning)." - -## Prerequisites for {% data variables.product.prodname_secret_scanning %} - - -- The [SSSE3](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf#G3.1106470) (Supplemental Streaming SIMD Extensions 3) CPU flag needs to be enabled on the VM/KVM that runs {% data variables.product.product_location %}. - -- A license for {% data variables.product.prodname_GH_advanced_security %}{% if currentVersion ver_gt "enterprise-server@3.0" %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} - -- {% data variables.product.prodname_secret_scanning_caps %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") - -## Checking support for the SSSE3 flag on your vCPUs - -The SSSE3 set of instructions is required because {% data variables.product.prodname_secret_scanning %} leverages hardware accelerated pattern matching to find potential credentials committed to your {% data variables.product.prodname_dotcom %} repositories. SSSE3 is enabled for most modern CPUs. You can check whether SSSE3 is enabled for the vCPUs available to your {% data variables.product.prodname_ghe_server %} instance. - -1. Connect to the administrative shell for your {% data variables.product.prodname_ghe_server %} instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." -2. Enter the following command: - -```shell -grep -iE '^flags.*ssse3' /proc/cpuinfo >/dev/null | echo $? -``` - -If this returns the value `0`, it means that the SSSE3 flag is available and enabled. You can now enable {% data variables.product.prodname_secret_scanning %} for {% data variables.product.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_secret_scanning %}](#enabling-secret-scanning)" below. - -If this doesn't return `0`, SSSE3 is not enabled on your VM/KVM. You need to refer to the documentation of the hardware/hypervisor on how to enable the flag, or make it available to guest VMs. - -### Checking whether you have an {% data variables.product.prodname_advanced_security %} license - -{% data reusables.enterprise_site_admin_settings.access-settings %} -{% data reusables.enterprise_site_admin_settings.management-console %} -1. Check if there is an **{% data variables.product.prodname_advanced_security %}** entry in the left sidebar. -![Advanced Security sidebar](/assets/images/enterprise/management-console/sidebar-advanced-security.png) - -{% data reusables.enterprise_management_console.advanced-security-license %} - -## Enabling {% data variables.product.prodname_secret_scanning %} - -{% data reusables.enterprise_management_console.enable-disable-security-features %} - -{% data reusables.enterprise_site_admin_settings.access-settings %} -{% data reusables.enterprise_site_admin_settings.management-console %} -{% data reusables.enterprise_management_console.advanced-security-tab %} -1. Under "{% data variables.product.prodname_advanced_security %}," click **{% data variables.product.prodname_secret_scanning_caps %}**. -![Checkbox to enable or disable {% data variables.product.prodname_secret_scanning %}](/assets/images/enterprise/management-console/enable-secret-scanning-checkbox.png) -{% data reusables.enterprise_management_console.save-settings %} - -## Disabling {% data variables.product.prodname_secret_scanning %} - -{% data reusables.enterprise_management_console.enable-disable-security-features %} - -{% data reusables.enterprise_site_admin_settings.access-settings %} -{% data reusables.enterprise_site_admin_settings.management-console %} -{% data reusables.enterprise_management_console.advanced-security-tab %} -1. Under "{% data variables.product.prodname_advanced_security %}", unselect **{% data variables.product.prodname_secret_scanning_caps %}**. -![Checkbox to enable or disable {% data variables.product.prodname_secret_scanning %}](/assets/images/enterprise/management-console/secret-scanning-disable.png) -{% data reusables.enterprise_management_console.save-settings %} diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md b/content/admin/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md deleted file mode 100644 index 006812efba..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Enabling GitHub Advanced Security for your enterprise -shortTitle: Enabling GitHub Advanced Security -intro: 'You can configure {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}. This provides extra features that help users find and fix security problems in their code.' -product: '{% data reusables.gated-features.ghas %}' -versions: - enterprise-server: '>=2.22' -type: how_to -topics: - - Advanced Security - - Code scanning - - Enterprise - - Secret scanning - - Security -redirect_from: - - /admin/advanced-security/enabling-github-advanced-security-for-your-enterprise ---- - -## About enabling {% data variables.product.prodname_GH_advanced_security %} - -{% data reusables.advanced-security.ghas-helps-developers %} - -{% if currentVersion ver_gt "enterprise-server@3.0" %} -When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features unless you set up a policy to restrict access. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)." -{% else %} -When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features. {% if currentVersion == "enterprise-server@3.0" %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} -{% endif %} - -## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %} - -1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% if currentVersion ver_gt "enterprise-server@3.0" %} For information about licensing, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)."{% endif %} -2. Upload the new license to {% data variables.product.product_location %}. For more information, see "[Managing your GitHub Enterprise license](/admin/overview/managing-your-github-enterprise-license#uploading-a-new-license-to-github-enterprise-server)."{% if currentVersion ver_gt "enterprise-server@2.22" %} -3. Review the prerequisites for the features you plan to enable. - - - {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)." - - {% data variables.product.prodname_secret_scanning_caps %}, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)."{% endif %} - -## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} - -{% if currentVersion ver_gt "enterprise-server@3.0" %} -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.settings-tab %} -{% data reusables.enterprise-accounts.license-tab %} -1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, the license page includes a section showing details of current usage. -![{% data variables.product.prodname_GH_advanced_security %} section of Enterprise license](/assets/images/help/billing/ghas-orgs-list-enterprise-ghes.png) -{% endif %} - -{% if currentVersion == "enterprise-server@2.22" or currentVersion == "enterprise-server@3.0" %} -{% data reusables.enterprise_site_admin_settings.access-settings %} -{% data reusables.enterprise_site_admin_settings.management-console %} -1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, there is an **{% data variables.product.prodname_advanced_security %}** entry in the left sidebar. -![Advanced Security sidebar](/assets/images/enterprise/management-console/sidebar-advanced-security.png) - -{% data reusables.enterprise_management_console.advanced-security-license %} -{% endif %} - -## Enabling and disabling {% data variables.product.prodname_GH_advanced_security %} features - -{% data reusables.enterprise_management_console.enable-disable-security-features %} - -{% data reusables.enterprise_site_admin_settings.access-settings %} -{% data reusables.enterprise_site_admin_settings.management-console %} -{% data reusables.enterprise_management_console.advanced-security-tab %}{% if currentVersion ver_gt "enterprise-server@2.22" %} -1. Under "{% data variables.product.prodname_advanced_security %}," select the features that you want to enable and deselect any features you want to disable. -![Checkbox to enable or disable {% data variables.product.prodname_advanced_security %} features](/assets/images/enterprise/management-console/enable-advanced-security-checkboxes.png){% else %} -1. Under "{% data variables.product.prodname_advanced_security %}," click **{% data variables.product.prodname_code_scanning_capc %}**. -![Checkbox to enable or disable {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/management-console/enable-code-scanning-checkbox.png){% endif %} -{% data reusables.enterprise_management_console.save-settings %} - -When {% data variables.product.product_name %} has finished restarting, you're ready to set up any additional resources required for newly enabled features. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance)." - -## Enabling or disabling {% data variables.product.prodname_GH_advanced_security %} via the administrative shell (SSH) - -You can enable or disable features programmatically on {% data variables.product.product_location %}. For more information about the administrative shell and command-line utilities for {% data variables.product.prodname_ghe_server %}, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[Command-line utilities](/admin/configuration/command-line-utilities#ghe-config)." - -For example, you can enable {% data variables.product.prodname_code_scanning %} with your infrastructure-as-code tooling when you deploy an instance for staging or disaster recovery. - -1. SSH into {% data variables.product.product_location %}. -1. Enable {% data variables.product.prodname_code_scanning %}. - ```shell - ghe-config app.minio.enabled true - ghe-config app.code-scanning.enabled true - ``` -2. Optionally, disable {% data variables.product.prodname_code_scanning %}. - ```shell - ghe-config app.minio.enabled false - ghe-config app.code-scanning.enabled false - ``` -3. Apply the configuration. - ```shell - ghe-config-apply - ``` - -{% if currentVersion ver_gt "enterprise-server@2.22" %}To enable and disable {% data variables.product.prodname_secret_scanning %} in the same way, set: `ghe-config app.secret-scanning.enabled` true or false and apply the configuration.{% endif %} diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/index.md b/content/admin/managing-github-advanced-security-for-your-enterprise/index.md deleted file mode 100644 index 0f41d1adb1..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Managing GitHub Advanced Security for your enterprise -shortTitle: Managing GitHub Advanced Security -intro: 'You can configure {% data variables.product.prodname_advanced_security %} and manage use by your enterprise to suit your organization''s needs.' -product: '{% data reusables.gated-features.ghas %}' -redirect_from: - - /enterprise/admin/configuration/configuring-advanced-security-features - - /admin/configuration/configuring-advanced-security-features - - /admin/advanced-security - - /admin/advanced-security/index -versions: - enterprise-server: '>=2.22' -topics: - - Enterprise -children: - - /about-licensing-for-github-advanced-security - - /enabling-github-advanced-security-for-your-enterprise - - /configuring-code-scanning-for-your-appliance - - /configuring-secret-scanning-for-your-appliance - - /viewing-your-github-advanced-security-usage ---- - diff --git a/content/admin/managing-github-advanced-security-for-your-enterprise/viewing-your-github-advanced-security-usage.md b/content/admin/managing-github-advanced-security-for-your-enterprise/viewing-your-github-advanced-security-usage.md deleted file mode 100644 index 04351dae58..0000000000 --- a/content/admin/managing-github-advanced-security-for-your-enterprise/viewing-your-github-advanced-security-usage.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Viewing your GitHub Advanced Security usage -intro: 'You can view usage of your {% data variables.product.prodname_GH_advanced_security %} license.' -permissions: 'Enterprise owners can view usage for {% data variables.product.prodname_GH_advanced_security %}.' -product: '{% data reusables.gated-features.ghas %}' -versions: - enterprise-server: '>=3.1' -topics: - - Enterprise -redirect_from: - - /admin/advanced-security/viewing-your-github-advanced-security-usage ---- - -{% data reusables.advanced-security.about-ghas-license-seats %} For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)." - -## Viewing license usage for {% data variables.product.prodname_GH_advanced_security %} - -You can check how many seats your license includes and how many seats are currently in use. - -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.settings-tab %} -{% data reusables.enterprise-accounts.license-tab %} - The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage. You can see the total number of seats used, as well as a table with the number of committers and unique committers for each organization. - ![{% data variables.product.prodname_GH_advanced_security %} section of Enterprise license](/assets/images/help/billing/ghas-orgs-list-enterprise-ghes.png) -5. Optionally, click the name of an organization where you are an owner to display the security and analysis settings for the organization. - ![Owned organization in {% data variables.product.prodname_GH_advanced_security %} section of enterprise billing settings](/assets/images/help/billing/ghas-orgs-list-enterprise-click-org.png) -6. On the "Security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see a detailed breakdown of usage by repository for this organization. - ![{% data variables.product.prodname_GH_advanced_security %} repositories section](/assets/images/help/enterprises/settings-security-analysis-ghas-repos-list.png) - For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." From 43cefe6de8df42e51d81ac6c27227e999b10ae6a Mon Sep 17 00:00:00 2001 From: Grace Park Date: Thu, 17 Jun 2021 08:44:39 -0700 Subject: [PATCH 35/54] adding back redirect_from --- .../about-code-scanning.md | 2 ++ .../configuring-code-scanning.md | 2 ++ .../configuring-the-codeql-workflow-for-compiled-languages.md | 2 ++ .../managing-code-scanning-alerts-for-your-repository.md | 2 ++ .../running-codeql-code-scanning-in-a-container.md | 2 ++ .../triaging-code-scanning-alerts-in-pull-requests.md | 2 ++ .../troubleshooting-the-codeql-workflow.md | 2 ++ .../about-integration-with-code-scanning.md | 2 ++ .../sarif-support-for-code-scanning.md | 2 ++ .../uploading-a-sarif-file-to-github.md | 2 ++ .../configuring-codeql-code-scanning-in-your-ci-system.md | 2 ++ .../running-codeql-code-scanning-in-your-ci-system.md | 2 ++ .../troubleshooting-codeql-code-scanning-in-your-ci-system.md | 2 ++ .../about-alerts-for-vulnerable-dependencies.md | 2 ++ .../configuring-notifications-for-vulnerable-dependencies.md | 2 ++ .../about-the-dependency-graph.md | 2 ++ .../exploring-the-dependencies-of-a-repository.md | 2 ++ 17 files changed, 34 insertions(+) diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md index 2d3963adf8..00f20d2cff 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md @@ -6,6 +6,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md index c698fad2c8..811afb7e3b 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md index 9843db6767..ce4d73be22 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index f1e75fe5ea..4e9e9f82e1 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -6,6 +6,8 @@ product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permission to a repository you can manage {% data variables.product.prodname_code_scanning %} alerts for that repository.' versions: enterprise-server: '2.22' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index 7a5ea81d6f..3715cfc462 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md index a59b43faf0..368d6bc069 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md index 66aa8ad35e..1bab71cac4 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md index 2403417f69..1dc9a6042d 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md index b549213e58..0d211269c9 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index a095cbcd5e..5514e34399 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md index b5ee7f4432..6c3baa72e7 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md index db7f8394a6..f10a0900bc 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md index adb52eda15..d49293de01 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md @@ -7,6 +7,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system --- diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md index 4bb54e55cd..5275870a2d 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md @@ -5,6 +5,8 @@ versions: enterprise-server: <=2.22 topics: - Security +redirect_from: + - /github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies --- diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md index 70e6198879..a6940e7450 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md @@ -6,6 +6,8 @@ versions: enterprise-server: '>=2.21 <=2.22' topics: - Security +redirect_from: + - /github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies --- diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md index 66e8d19d2e..9d43f4ab21 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md @@ -5,6 +5,8 @@ versions: enterprise-server: <=2.22 topics: - Repositories +redirect_from: + - /github/visualizing-repository-data-with-graphs/about-the-dependency-graph --- diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md index 2eee89ac8a..0a53e532e2 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md @@ -5,6 +5,8 @@ versions: enterprise-server: <=2.22 topics: - Repositories +redirect_from: + - /github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository --- From 184543bf403ec11c45f66a5d860ea32aa2a554f2 Mon Sep 17 00:00:00 2001 From: Grace Park Date: Thu, 17 Jun 2021 08:53:33 -0700 Subject: [PATCH 36/54] adding one more redirect_from article --- .../setting-up-code-scanning-for-a-repository.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index bc227962bb..040aab1a88 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -8,6 +8,8 @@ versions: enterprise-server: '2.22' topics: - Security +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository --- From 21a8778ef77c704087ca09707446e6da07205acf Mon Sep 17 00:00:00 2001 From: Grey Baker Date: Thu, 17 Jun 2021 11:57:28 -0400 Subject: [PATCH 37/54] Add Azure Active Directory Application Secret to list of supported secrets (#19965) --- .../reusables/secret-scanning/partner-secret-list-public-repo.md | 1 + 1 file changed, 1 insertion(+) diff --git a/data/reusables/secret-scanning/partner-secret-list-public-repo.md b/data/reusables/secret-scanning/partner-secret-list-public-repo.md index 455e02099e..7a61669c95 100644 --- a/data/reusables/secret-scanning/partner-secret-list-public-repo.md +++ b/data/reusables/secret-scanning/partner-secret-list-public-repo.md @@ -9,6 +9,7 @@ Alibaba Cloud | Alibaba Cloud Access Key ID and Access Key Secret pair Amazon Web Services (AWS) | Amazon AWS Access Key ID and Secret Access Key pair Atlassian | Atlassian API Token Atlassian | Atlassian JSON Web Token +Azure | Azure Active Directory Application Secret Azure | Azure DevOps Personal Access Token Azure | Azure SAS Token Azure | Azure Service Management Certificate From 5396f5f9e400a6f263be2fbd7de84364bcb81c7f Mon Sep 17 00:00:00 2001 From: Mike Surowiec Date: Thu, 17 Jun 2021 10:04:53 -0700 Subject: [PATCH 38/54] React: All landing pages (#19943) * default all remaining landing pages to react, update tests --- components/Header.tsx | 5 +- components/Search.tsx | 4 +- components/SidebarNav.tsx | 1 + components/context/MainContext.tsx | 2 +- components/context/ProductLandingContext.tsx | 4 +- components/landing/ArticleList.tsx | 2 +- components/landing/CodeExampleCard.tsx | 1 + components/landing/CodeExamples.tsx | 7 +- components/landing/LandingSection.tsx | 8 +- components/landing/ProductArticlesList.tsx | 6 +- components/landing/ProductLanding.tsx | 8 +- javascripts/scroll-anchoring.d.ts | 7 +- middleware/is-next-request.js | 54 +++++++----- tests/browser/browser.js | 88 ++++++++++---------- tests/content/featured-links.js | 22 ++--- tests/rendering/sidebar.js | 12 +-- 16 files changed, 135 insertions(+), 96 deletions(-) diff --git a/components/Header.tsx b/components/Header.tsx index 09f686914e..d472d09063 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -34,7 +34,7 @@ export const Header = () => { style={{ zIndex: 2 }} > {/* desktop header */} -
+
{showVersionPicker && (
@@ -54,7 +54,7 @@ export const Header = () => {
{/* mobile header */} -
+