diff --git a/.github/actions-scripts/what-docs-early-access-branch.js b/.github/actions-scripts/what-docs-early-access-branch.js new file mode 100755 index 0000000000..c076197df1 --- /dev/null +++ b/.github/actions-scripts/what-docs-early-access-branch.js @@ -0,0 +1,38 @@ +#!/usr/bin/env node + +import { getOctokit } from '@actions/github' +import { setOutput } from '@actions/core' + +async function main() { + // TODO Is there a lib function for this? + const { BRANCH_NAME, GITHUB_TOKEN } = process.env + if (!BRANCH_NAME) throw new Error("'BRANCH_NAME' env var not set") + if (!GITHUB_TOKEN) throw new Error("'GITHUB_TOKEN' env var not set") + + const OUTPUT_KEY = 'branch' + + // If being run from a PR, this becomes 'my-cool-branch'. + // If run on main, with the `workflow_dispatch` action for + // example, the value becomes 'main'. + const github = getOctokit(GITHUB_TOKEN) + try { + await github.rest.repos.getBranch({ + owner: 'github', + repo: 'docs-early-access', + branch: BRANCH_NAME, + }) + console.log(`Using docs-early-access branch called '${BRANCH_NAME}'.`) + setOutput(OUTPUT_KEY, BRANCH_NAME) + } catch (err) { + if (err.status === 404) { + console.log( + `There is no docs-early-access branch called '${BRANCH_NAME}' so checking out 'main' instead.` + ) + setOutput(OUTPUT_KEY, 'main') + } else { + throw err + } + } +} + +main() diff --git a/.github/workflows/link-check-daily.yml b/.github/workflows/link-check-daily.yml index 6e522c96e8..18f3360665 100644 --- a/.github/workflows/link-check-daily.yml +++ b/.github/workflows/link-check-daily.yml @@ -33,6 +33,27 @@ jobs: - name: Install dependencies run: npm ci + - name: Figure out which docs-early-access branch to checkout, if internal repo + if: ${{ github.repository == 'github/docs-internal' }} + id: check-early-access + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }} + run: node .github/actions-scripts/what-docs-early-access-branch.js + + - name: Check out docs-early-access too, if internal repo + if: ${{ github.repository == 'github/docs-internal' }} + uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 + with: + repository: github/docs-early-access + token: ${{ secrets.DOCUBOT_REPO_PAT }} + path: docs-early-access + ref: ${{ steps.check-early-access.outputs.branch }} + + - name: Merge docs-early-access repo's folders + if: ${{ github.repository == 'github/docs-internal' }} + run: .github/actions-scripts/merge-early-access.sh + - name: Run link checker env: LEVEL: 'critical' diff --git a/.github/workflows/link-check-on-pr.yml b/.github/workflows/link-check-on-pr.yml index 076140e4e5..42bfa83e81 100644 --- a/.github/workflows/link-check-on-pr.yml +++ b/.github/workflows/link-check-on-pr.yml @@ -40,6 +40,27 @@ jobs: - name: Install run: npm ci + - name: Figure out which docs-early-access branch to checkout, if internal repo + if: ${{ github.repository == 'github/docs-internal' }} + id: check-early-access + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }} + run: node .github/actions-scripts/what-docs-early-access-branch.js + + - name: Check out docs-early-access too, if internal repo + if: ${{ github.repository == 'github/docs-internal' }} + uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 + with: + repository: github/docs-early-access + token: ${{ secrets.DOCUBOT_REPO_PAT }} + path: docs-early-access + ref: ${{ steps.check-early-access.outputs.branch }} + + - name: Merge docs-early-access repo's folders + if: ${{ github.repository == 'github/docs-internal' }} + run: .github/actions-scripts/merge-early-access.sh + # TODO: When we want to fix redirects on changed files we can uncomment everything below # Creates file "${{ env.HOME }}/files.json", among others # - name: Gather files changed diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 000c0ad107..a3bd592e2d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -77,35 +77,22 @@ jobs: # ->> Do we really need this? actions/checkout doesn't use it for the nested example: # https://github.com/actions/checkout#checkout-multiple-repos-nested + - name: Setup node + uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 + with: + node-version: '16.17.0' + cache: npm + + - name: Install dependencies + run: npm ci + - name: Figure out which docs-early-access branch to checkout, if internal repo if: ${{ github.repository == 'github/docs-internal' }} id: check-early-access - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - with: - github-token: ${{ secrets.DOCUBOT_REPO_PAT }} - result-encoding: string - script: | - // If being run from a PR, this becomes 'my-cool-branch'. - // If run on main, with the `workflow_dispatch` action for - // example, the value becomes 'main'. - const { BRANCH_NAME } = process.env - try { - const response = await github.rest.repos.getBranch({ - owner: 'github', - repo: 'docs-early-access', - branch: BRANCH_NAME, - }) - console.log(`Using docs-early-access branch called '${BRANCH_NAME}'.`) - return BRANCH_NAME - } catch (err) { - if (err.status === 404) { - console.log(`There is no docs-early-access branch called '${BRANCH_NAME}' so checking out 'main' instead.`) - return 'main' - } - throw err - } + GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }} + run: node .github/actions-scripts/what-docs-early-access-branch.js - name: Check out docs-early-access too, if internal repo if: ${{ github.repository == 'github/docs-internal' }} @@ -114,15 +101,13 @@ jobs: repository: github/docs-early-access token: ${{ secrets.DOCUBOT_REPO_PAT }} path: docs-early-access - ref: ${{ steps.check-early-access.outputs.result }} + ref: ${{ steps.check-early-access.outputs.branch }} - name: Merge docs-early-access repo's folders if: ${{ github.repository == 'github/docs-internal' }} run: | - mv docs-early-access/assets assets/images/early-access - mv docs-early-access/content content/early-access - mv docs-early-access/data data/early-access - rm -r docs-early-access + .github/actions-scripts/merge-early-access.sh + rm -fr docs-early-access # This is necessary when LFS files where cloned but does nothing # if actions/checkout was run with `lfs:false`. @@ -162,15 +147,6 @@ jobs: echo __ format, write to get_diff_files.txt __ echo $DIFF | tr '\n' ' ' > get_diff_files.txt - - name: Setup node - uses: actions/setup-node@17f8bd926464a1afa4c6a11669539e9c1ba77048 - with: - node-version: '16.17.0' - cache: npm - - - name: Install dependencies - run: npm ci - - name: Cache nextjs build uses: actions/cache@48af2dc4a9e8278b89d7fa154b955c30c6aaab09 with: diff --git a/components/lib/events.ts b/components/lib/events.ts index 7acfeefc02..62103d4688 100644 --- a/components/lib/events.ts +++ b/components/lib/events.ts @@ -57,6 +57,7 @@ type SendEventProps = { exit_visit_duration?: number exit_scroll_length?: number link_url?: string + link_samesite?: boolean search_query?: string search_context?: string search_result_query?: string @@ -255,11 +256,13 @@ function initCopyButtonEvent() { function initLinkEvent() { document.documentElement.addEventListener('click', (evt) => { const target = evt.target as HTMLElement - const link = target.closest('a[href^="http"]') as HTMLAnchorElement + const link = target.closest('a[href]') as HTMLAnchorElement if (!link) return + const sameSite = link.origin === location.origin sendEvent({ type: EventType.link, link_url: link.href, + link_samesite: sameSite, }) }) } diff --git a/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 547784b6ad..294dc0dd7d 100644 --- a/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -16,9 +16,9 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." -You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." +You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." {% ifversion fpt or ghec %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e95ef98441..2b6e79d378 100644 --- a/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -23,7 +23,7 @@ shortTitle: Generate new SSH key When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. -If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -44,7 +44,7 @@ If you are a site administrator for {% data variables.location.product_location {%- ifversion ghae %} ```shell - $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` @@ -160,7 +160,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endnote %} -4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endmac %} @@ -178,7 +178,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endwindows %} @@ -189,7 +189,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endlinux %} @@ -246,4 +246,4 @@ If you are using macOS or Linux, you may need to update your SSH client or insta > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] ``` -7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 0ddfcd5c89..1b1c1fbd9f 100644 --- a/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -121,6 +121,6 @@ You can use an existing SSH key to sign commits and tags, or generate a new one {% data reusables.gpg.x-509-key %} ## Further reading -- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +- "[Adding a new SSH key to your GitHub account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." - "[Signing commits](/articles/signing-commits)" - "[Signing tags](/articles/signing-tags)" diff --git a/content/code-security/secret-scanning/about-secret-scanning.md b/content/code-security/secret-scanning/about-secret-scanning.md index f1c959c882..4db1d014b7 100644 --- a/content/code-security/secret-scanning/about-secret-scanning.md +++ b/content/code-security/secret-scanning/about-secret-scanning.md @@ -84,9 +84,9 @@ When you enable {% data variables.product.prodname_secret_scanning %} for a repo If {% data variables.product.prodname_secret_scanning %} detects a secret, {% data variables.product.prodname_dotcom %} generates an alert. -- {% data variables.product.prodname_dotcom %} sends an email alert to the repository administrators and organization owners. +- {% data variables.product.prodname_dotcom %} sends an email alert to the repository administrators and organization owners. You'll receive an alert if you are watching the repository, or if you have enabled notifications for security alerts, or for all the activity on the repository. {% ifversion ghes or ghae or ghec %} -- {% data variables.product.prodname_dotcom %} sends an email alert to the contributor who committed the secret to the repository, with a link to the related {% data variables.product.prodname_secret_scanning %} alert. The commit author can then view the alert in the repository, and resolve the alert. +- If the contributor who committed the secret isn't ignoring the repository, {% data variables.product.prodname_dotcom %} will also send an email alert to the contributor. The emails contains a link to the related {% data variables.product.prodname_secret_scanning %} alert. The commit author can then view the alert in the repository, and resolve the alert. {% endif %} - {% data variables.product.prodname_dotcom %} displays an alert in the "Security" tab of the repository. diff --git a/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md index 284c0fc933..7a6fcdc772 100644 --- a/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md +++ b/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -28,7 +28,9 @@ Using {% data variables.large_files.product_name_short %}, you can store files u | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. -{% endif %} +{% endif %} + +{% data reusables.repositories.git-lfs %} You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." diff --git a/contributing/content-style-guide.md b/contributing/content-style-guide.md index df6a25fb56..368d299d1d 100644 --- a/contributing/content-style-guide.md +++ b/contributing/content-style-guide.md @@ -2,7 +2,7 @@ Welcome to the content style guide for [GitHub Docs](https://docs.github.com/). -These guidelines are specific to GitHub’s documentation. For general style questions or guidance on topics not covered here, see the [GitHub Brand Guide](https://brand.github.com/content/) first, then the [Microsoft Style Guide](https://docs.microsoft.com/style-guide/welcome/). For markup specific to source content on docs.github.com, see our [markup reference guide](content-markup-reference.md). +These guidelines are specific to GitHub’s documentation. For general style questions or guidance on topics not covered here, see the [Microsoft Style Guide](https://docs.microsoft.com/style-guide/welcome/). For markup specific to source content on docs.github.com, see our [markup reference guide](content-markup-reference.md). For any questions about the GitHub brand, see our "[GitHub Brand Guide](https://brand.github.com)" Use table of contents icon on the top left corner of this document to get to a specific section of this guide quickly. @@ -165,8 +165,6 @@ Individual words might be small, but together they can create community, belongi ### Resources about inclusive language -GitHub Brand Guide: - The Microsoft Style Guide offers resources on bias-free communication, accessibility terms, and writing for all abilities: - [Bias-free communication](https://docs.microsoft.com/style-guide/bias-free-communication) - [Writing for all abilities](https://docs.microsoft.com/style-guide/accessibility/writing-all-abilities) @@ -304,8 +302,6 @@ It's not necessary to link to an external product’s website when we mention an ## Lists -For general guidelines, see “[Lists](https://brand.github.com/content/grammar#lists)” in GitHub’s Brand Guide. - Capitalize the first letter in each line of a list. Use periods at the end of lines in a list only if the line contains a complete sentence. When writing a list of items that consist of primary and secondary text, such as a `term` and its definition, use a colon delimiter. The secondary text should be capitalized as if it was the beginning of the line. For example: @@ -349,7 +345,7 @@ Product names are always singular. - **Use:** GitHub Actions helps you automate your software development workflows. - **Avoid:** GitHub Actions help you automate your software development workflows. -Take care to distinguish between product names and product elements. For more information, see “[Terminology](https://brand.github.com/content/terminology)” in GitHub’s Brand Guide. +Take care to distinguish between product names and product elements. | Product | Element | | --- | --- | @@ -452,7 +448,7 @@ Use "development container configuration files" to refer to all of the files in ## Punctuation -Follow standard American English punctuation rules. For more guidance, see “[Punctuation](https://brand.github.com/content/grammar#punctuation)” in GitHub’s Brand Guide and “[Punctuation](https://docs.microsoft.com/style-guide/punctuation)” in the Microsoft Style Guide. +Follow standard American English punctuation rules. For more guidance, see “[Punctuation](https://docs.microsoft.com/style-guide/punctuation)” in the Microsoft Style Guide. ## Reusables and variables Use reusable strings for individual nouns (e.g. product names) or for complete sentences or paragraphs. Sentence fragments and phrases should not be contained in reusable strings as they can cause problems when content is localized. For more information, see the [data directory](../data) in the github/docs repository and the “[Product names](#product-names)” section of this document. @@ -550,9 +546,6 @@ When referencing text in the user interface, reproduce the text exactly. Use quo - **Use:** Under “IP allow list”, click **Edit**. ### More resources -GitHub Brand Guide: -- [Referring to GitHub features and product elements](https://brand.github.com/content/terminology/#referring-to-github-features-and-product-elements) -- [Page names and UI references](https://brand.github.com/content/grammar#page-names-and-ui-references) Microsoft Style Guide: - [Formatting text in instructions](https://docs.microsoft.com/style-guide/procedures-instructions/formatting-text-in-instructions) @@ -562,7 +555,7 @@ Use clear, simple language that’s approachable and accessible for a wide range ## Word choice and terminology -For general guidance and GitHub-specific terms, see “[Terminology](https://brand.github.com/content/terminology)” and “[Words that can be tricky](https://brand.github.com/content/grammar#words-that-can-be-tricky)” in GitHub’s Brand Guide. For more detailed guidance, see the “[A-Z word list](https://docs.microsoft.com/style-guide)” in Microsoft’s style guide. +For general guidance and GitHub-specific terms, see our "[Glossary](https://docs.github.com/en/get-started/quickstart/github-glossary)". For more detailed guidance, see the “[A-Z word list](https://docs.microsoft.com/style-guide)” in Microsoft’s style guide. ### Abbreviations diff --git a/data/product-examples/codespaces/code-examples.yml b/data/product-examples/codespaces/code-examples.yml index 398355985f..421d54fd0e 100644 --- a/data/product-examples/codespaces/code-examples.yml +++ b/data/product-examples/codespaces/code-examples.yml @@ -34,3 +34,9 @@ href: microsoft/vscode-remote-try-php tags: - development containers +- title: SQL Server sample project + description: Try a SQL Server project with a custom dev container + languages: SQL + href: microsoft/vscode-remote-try-sqlserver + tags: + - development containers diff --git a/data/release-notes/enterprise-server/3-2/20.yml b/data/release-notes/enterprise-server/3-2/20.yml index fb7235a2c8..4966e70f68 100644 --- a/data/release-notes/enterprise-server/3-2/20.yml +++ b/data/release-notes/enterprise-server/3-2/20.yml @@ -3,6 +3,8 @@ sections: security_fixes: - | **HIGH**: Updated dependencies for the Management Console to the latest patch versions, which addresses security vulnerabilities including [CVE-2022-30123](https://github.com/advisories/GHSA-wq4h-7r42-5hrr) and [CVE-2022-29181](https://github.com/advisories/GHSA-xh29-r2w5-wx8m). + - | + **HIGH**: Added checks to address an improper cache key vulnerability that allowed an unauthorized actor to access private repository files through a public repository. This vulnerability has been assigned [CVE-2022-23738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23738). - | **MEDIUM**: Updated [CommonMarker](https://github.com/gjtorikian/commonmarker) to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned [CVE-2022-39209](https://nvd.nist.gov/vuln/detail/CVE-2022-39209). - | diff --git a/data/release-notes/enterprise-server/3-3/15.yml b/data/release-notes/enterprise-server/3-3/15.yml index eb0fc38253..4212559476 100644 --- a/data/release-notes/enterprise-server/3-3/15.yml +++ b/data/release-notes/enterprise-server/3-3/15.yml @@ -3,8 +3,12 @@ sections: security_fixes: - | **HIGH**: Updated dependencies for the Management Console to the latest patch versions, which addresses security vulnerabilities including [CVE-2022-30123](https://github.com/advisories/GHSA-wq4h-7r42-5hrr) and [CVE-2022-29181](https://github.com/advisories/GHSA-xh29-r2w5-wx8m). + - | + **HIGH**: Added checks to address an improper cache key vulnerability that allowed an unauthorized actor to access private repository files through a public repository. This vulnerability has been assigned [CVE-2022-23738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23738). - | **MEDIUM**: Updated [CommonMarker](https://github.com/gjtorikian/commonmarker) to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned [CVE-2022-39209](https://nvd.nist.gov/vuln/detail/CVE-2022-39209). + - | + **MEDIUM**: Updated GitHub Actions runners to fix a bug that allowed environment variables in GitHub Actions jobs to escape the context of the variable and modify the invocation of `docker` commands directly. For more information, see the [Actions Runner security advisory](https://github.com/actions/runner/security/advisories/GHSA-2c6m-6gqh-6qg3). - | **MEDIUM**: Updated Redis to 5.0.14 to address [CVE-2021-32672](https://nvd.nist.gov/vuln/detail/CVE-2021-32672) and [CVE-2021-32762](https://nvd.nist.gov/vuln/detail/CVE-2021-32762). - | diff --git a/data/release-notes/enterprise-server/3-4/10.yml b/data/release-notes/enterprise-server/3-4/10.yml index e35eeb1db1..a760316f87 100644 --- a/data/release-notes/enterprise-server/3-4/10.yml +++ b/data/release-notes/enterprise-server/3-4/10.yml @@ -3,10 +3,14 @@ sections: security_fixes: - | **HIGH**: Updated dependencies for the Management Console to the latest patch versions, which addresses security vulnerabilities including [CVE-2022-30123](https://github.com/advisories/GHSA-wq4h-7r42-5hrr) and [CVE-2022-29181](https://github.com/advisories/GHSA-xh29-r2w5-wx8m). + - | + **HIGH**: Added checks to address an improper cache key vulnerability that allowed an unauthorized actor to access private repository files through a public repository. This vulnerability has been assigned [CVE-2022-23738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23738). - | **MEDIUM**: Updated [CommonMarker](https://github.com/gjtorikian/commonmarker) to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned [CVE-2022-39209](https://nvd.nist.gov/vuln/detail/CVE-2022-39209). - | **MEDIUM**: Updated Redis to 5.0.14 to address [CVE-2021-32672](https://nvd.nist.gov/vuln/detail/CVE-2021-32672) and [CVE-2021-32762](https://nvd.nist.gov/vuln/detail/CVE-2021-32762). + - | + **MEDIUM**: Updated GitHub Actions runners to fix a bug that allowed environment variables in GitHub Actions jobs to escape the context of the variable and modify the invocation of `docker` commands directly. For more information, see the [Actions Runner security advisory](https://github.com/actions/runner/security/advisories/GHSA-2c6m-6gqh-6qg3). - | **LOW**: Due to a CSRF vulnerability, a `GET` request to the instance's `site/toggle_site_admin_and_employee_status` endpoint could toggle a user's site administrator status unknowingly. - Packages have been updated to the latest security versions. diff --git a/data/release-notes/enterprise-server/3-5/7.yml b/data/release-notes/enterprise-server/3-5/7.yml index 60e4df04bb..e5177e7983 100644 --- a/data/release-notes/enterprise-server/3-5/7.yml +++ b/data/release-notes/enterprise-server/3-5/7.yml @@ -3,10 +3,14 @@ sections: security_fixes: - | **HIGH**: Updated dependencies for the Management Console to the latest patch versions, which addresses security vulnerabilities including [CVE-2022-30123](https://github.com/advisories/GHSA-wq4h-7r42-5hrr) and [CVE-2022-29181](https://github.com/advisories/GHSA-xh29-r2w5-wx8m). + - | + **HIGH**: Added checks to address an improper cache key vulnerability that allowed an unauthorized actor to access private repository files through a public repository. This vulnerability has been assigned [CVE-2022-23738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23738). - | **MEDIUM**: Updated [CommonMarker](https://github.com/gjtorikian/commonmarker) to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned [CVE-2022-39209](https://nvd.nist.gov/vuln/detail/CVE-2022-39209). - | **MEDIUM**: Updated Redis to 5.0.14 to address [CVE-2021-32672](https://nvd.nist.gov/vuln/detail/CVE-2021-32672) and [CVE-2021-32762](https://nvd.nist.gov/vuln/detail/CVE-2021-32762). + - | + **MEDIUM**: Updated GitHub Actions runners to fix a bug that allowed environment variables in GitHub Actions jobs to escape the context of the variable and modify the invocation of `docker` commands directly. For more information, see the [Actions Runner security advisory](https://github.com/actions/runner/security/advisories/GHSA-2c6m-6gqh-6qg3). - | **LOW**: Due to a CSRF vulnerability, a `GET` request to the instance's `site/toggle_site_admin_and_employee_status` endpoint could toggle a user's site administrator status unknowingly. - Packages have been updated to the latest security versions. diff --git a/data/release-notes/enterprise-server/3-6/3.yml b/data/release-notes/enterprise-server/3-6/3.yml index 19c289eb89..84c7045197 100644 --- a/data/release-notes/enterprise-server/3-6/3.yml +++ b/data/release-notes/enterprise-server/3-6/3.yml @@ -3,10 +3,14 @@ sections: security_fixes: - | **HIGH**: Updated dependencies for the Management Console to the latest patch versions, which addresses security vulnerabilities including [CVE-2022-30123](https://github.com/advisories/GHSA-wq4h-7r42-5hrr) and [CVE-2022-29181](https://github.com/advisories/GHSA-xh29-r2w5-wx8m). + - | + **HIGH**: Added checks to address an improper cache key vulnerability that allowed an unauthorized actor to access private repository files through a public repository. This vulnerability has been assigned [CVE-2022-23738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23738). - | **MEDIUM**: Updated [CommonMarker](https://github.com/gjtorikian/commonmarker) to address a scenario where parallel requests to the Markdown REST API could result in unbounded resource exhaustion. This vulnerability has been assigned [CVE-2022-39209](https://nvd.nist.gov/vuln/detail/CVE-2022-39209). - | **MEDIUM**: Updated Redis to 5.0.14 to address [CVE-2021-32672](https://nvd.nist.gov/vuln/detail/CVE-2021-32672) and [CVE-2021-32762](https://nvd.nist.gov/vuln/detail/CVE-2021-32762). + - | + **MEDIUM**: Updated GitHub Actions runners to fix a bug that allowed environment variables in GitHub Actions jobs to escape the context of the variable and modify the invocation of `docker` commands directly. For more information, see the [Actions Runner security advisory](https://github.com/actions/runner/security/advisories/GHSA-2c6m-6gqh-6qg3). - | **LOW**: Due to a CSRF vulnerability, a `GET` request to the instance's `site/toggle_site_admin_and_employee_status` endpoint could toggle a user's site administrator status unknowingly. - Packages have been updated to the latest security versions. diff --git a/data/reusables/audit_log/audit-log-action-categories.md b/data/reusables/audit_log/audit-log-action-categories.md index f6f3bf77d0..a20fdee08a 100644 --- a/data/reusables/audit_log/audit-log-action-categories.md +++ b/data/reusables/audit_log/audit-log-action-categories.md @@ -33,7 +33,6 @@ {%- ifversion ghes %} | `config_entry` | Contains activities related to configuration settings. These events are only visible in the site admin audit log. {%- endif %} -| | `dependabot_alerts` | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in existing repositories. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." | `dependabot_alerts_new_repos` | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in new repositories created in the organization. | `dependabot_repository_access` | Contains activities related to which private repositories in an organization {% data variables.product.prodname_dependabot %} is allowed to access. diff --git a/data/reusables/repositories/git-lfs.md b/data/reusables/repositories/git-lfs.md new file mode 100644 index 0000000000..0c4fc9d4f1 --- /dev/null +++ b/data/reusables/repositories/git-lfs.md @@ -0,0 +1 @@ +If you exceed the limit of 5GB, any new files added to the repository will be rejected silently by Git LFS. \ No newline at end of file diff --git a/lib/rest/static/decorated/ghec.json b/lib/rest/static/decorated/ghec.json index ee151ad8da..0e25325962 100644 --- a/lib/rest/static/decorated/ghec.json +++ b/lib/rest/static/decorated/ghec.json @@ -460417,6 +460417,16 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "userName": "octocat", + "name": "Monalisa Octocat", + "emails": [ + { + "value": "mona.octocat@github.com", + "primary": true + } + ] + }, "parameters": { "org": "ORG" } @@ -461170,6 +461180,16 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "userName": "octocat", + "name": "Monalisa Octocat", + "emails": [ + { + "value": "mona.octocat@github.com", + "primary": true + } + ] + }, "parameters": { "org": "ORG", "scim_user_id": "SCIM_USER_ID" @@ -461534,6 +461554,16 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "Operations": [ + { + "op": "replace", + "value": { + "displayName": "Octocat" + } + } + ] + }, "parameters": { "org": "ORG", "scim_user_id": "SCIM_USER_ID" diff --git a/lib/rest/static/decorated/ghes-3.3.json b/lib/rest/static/decorated/ghes-3.3.json index 4039efc03d..e215a61c1f 100644 --- a/lib/rest/static/decorated/ghes-3.3.json +++ b/lib/rest/static/decorated/ghes-3.3.json @@ -166185,10 +166185,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -166268,10 +166269,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/decorated/ghes-3.4.json b/lib/rest/static/decorated/ghes-3.4.json index b553b770d3..383e705809 100644 --- a/lib/rest/static/decorated/ghes-3.4.json +++ b/lib/rest/static/decorated/ghes-3.4.json @@ -173714,10 +173714,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -173797,10 +173798,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/decorated/ghes-3.5.json b/lib/rest/static/decorated/ghes-3.5.json index c8190b8b3f..45577cea38 100644 --- a/lib/rest/static/decorated/ghes-3.5.json +++ b/lib/rest/static/decorated/ghes-3.5.json @@ -180870,10 +180870,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -180953,10 +180954,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/decorated/ghes-3.6.json b/lib/rest/static/decorated/ghes-3.6.json index 7f16424768..14694f4df2 100644 --- a/lib/rest/static/decorated/ghes-3.6.json +++ b/lib/rest/static/decorated/ghes-3.6.json @@ -183908,10 +183908,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -183991,10 +183992,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/decorated/ghes-3.7.json b/lib/rest/static/decorated/ghes-3.7.json index 7b9595afe3..1d8496a9cf 100644 --- a/lib/rest/static/decorated/ghes-3.7.json +++ b/lib/rest/static/decorated/ghes-3.7.json @@ -186476,10 +186476,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -186559,10 +186560,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index 7eee8ca8bb..795989d7da 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -143272,10 +143272,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", @@ -143355,10 +143356,11 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Default response

", + "description": "

Announcement banner

", "example": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false }, "schema": { "title": "Enterprise Announcement", diff --git a/lib/rest/static/dereferenced/ghec.deref.json b/lib/rest/static/dereferenced/ghec.deref.json index 8081987c4e..c38443c241 100644 --- a/lib/rest/static/dereferenced/ghec.deref.json +++ b/lib/rest/static/dereferenced/ghec.deref.json @@ -425964,6 +425964,20 @@ "name", "emails" ] + }, + "examples": { + "default": { + "value": { + "userName": "octocat", + "name": "Monalisa Octocat", + "emails": [ + { + "value": "mona.octocat@github.com", + "primary": true + } + ] + } + } } } } @@ -427051,6 +427065,20 @@ "name", "emails" ] + }, + "examples": { + "default": { + "value": { + "userName": "octocat", + "name": "Monalisa Octocat", + "emails": [ + { + "value": "mona.octocat@github.com", + "primary": true + } + ] + } + } } } } @@ -427766,6 +427794,20 @@ "Operations" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "Operations": [ + { + "op": "replace", + "value": { + "displayName": "Octocat" + } + } + ] + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.3.deref.json b/lib/rest/static/dereferenced/ghes-3.3.deref.json index c25e2eaee9..0de3783c26 100644 --- a/lib/rest/static/dereferenced/ghes-3.3.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.3.deref.json @@ -29822,10 +29822,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -29923,10 +29924,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/rest/static/dereferenced/ghes-3.4.deref.json b/lib/rest/static/dereferenced/ghes-3.4.deref.json index 94b6d93a3c..9f85c305da 100644 --- a/lib/rest/static/dereferenced/ghes-3.4.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.4.deref.json @@ -27817,10 +27817,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -27918,10 +27919,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/rest/static/dereferenced/ghes-3.5.deref.json b/lib/rest/static/dereferenced/ghes-3.5.deref.json index d5b77450b7..e307cb4005 100644 --- a/lib/rest/static/dereferenced/ghes-3.5.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.5.deref.json @@ -27817,10 +27817,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -27918,10 +27919,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/rest/static/dereferenced/ghes-3.6.deref.json b/lib/rest/static/dereferenced/ghes-3.6.deref.json index 91af1fe8a9..892d7443fb 100644 --- a/lib/rest/static/dereferenced/ghes-3.6.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.6.deref.json @@ -27899,10 +27899,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -28000,10 +28001,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/rest/static/dereferenced/ghes-3.7.deref.json b/lib/rest/static/dereferenced/ghes-3.7.deref.json index c9ba7c126c..82e688900d 100644 --- a/lib/rest/static/dereferenced/ghes-3.7.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.7.deref.json @@ -27920,10 +27920,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -28021,10 +28022,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index ca6d0ce744..22f6efb70c 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -17117,10 +17117,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } @@ -17218,10 +17219,11 @@ }, "examples": { "default": { - "summary": "Default response", + "summary": "Announcement banner", "value": { "announcement": "Very **important** announcement about _nothing_.", - "expires_at": "2021-01-01T00:00:00.000+00:00" + "expires_at": "2021-01-01T00:00:00.000+00:00", + "user_dismissible": false } } } diff --git a/lib/schema-event.js b/lib/schema-event.js index 02345185ee..7e190bb82f 100644 --- a/lib/schema-event.js +++ b/lib/schema-event.js @@ -233,6 +233,10 @@ const linkSchema = { description: 'The href of the anchor tag the user clicked, or the page or object they directed their browser to.', }, + link_samesite: { + type: 'boolean', + description: 'If the link stays on docs.github.com.', + }, }, } diff --git a/middleware/find-page.js b/middleware/find-page.js index 8c3dbd0784..5ce08c0370 100644 --- a/middleware/find-page.js +++ b/middleware/find-page.js @@ -23,10 +23,10 @@ export default async function findPage( return next() } - const page = - isDev && englishPrefixRegex.test(req.pagePath) - ? await rereadByPath(req.pagePath, contentRoot, req.context.currentVersion) - : req.context.pages[req.pagePath] + let page = req.context.pages[req.pagePath] + if (page && isDev && englishPrefixRegex.test(req.pagePath)) { + page = await rereadByPath(req.pagePath, contentRoot, req.context.currentVersion) + } if (page) { req.context.page = page diff --git a/package-lock.json b/package-lock.json index 3d4aaa6e73..def7128827 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "@babel/preset-env": "^7.18.2", "@graphql-inspector/core": "^3.1.2", "@graphql-tools/load": "^7.5.14", - "@jest/globals": "29.0.3", + "@jest/globals": "29.2.2", "@octokit/graphql": "5.0.4", "@octokit/rest": "^19.0.4", "@types/github-slugger": "^1.3.0", @@ -136,7 +136,7 @@ "http-status-code": "^2.1.0", "husky": "^8.0.1", "japanese-characters": "^1.1.0", - "jest": "29.1.2", + "jest": "29.2.2", "jest-environment-puppeteer": "^5.0.4", "jest-fail-on-console": "^3.0.1", "jest-github-actions-reporter": "^1.0.3", @@ -545,9 +545,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1239,12 +1239,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -2365,16 +2365,16 @@ } }, "node_modules/@jest/console": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", - "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", + "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0" }, "engines": { @@ -2382,9 +2382,9 @@ } }, "node_modules/@jest/console/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2424,18 +2424,18 @@ } }, "node_modules/@jest/console/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -2444,12 +2444,12 @@ } }, "node_modules/@jest/console/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2461,9 +2461,9 @@ } }, "node_modules/@jest/console/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2502,37 +2502,37 @@ } }, "node_modules/@jest/core": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", - "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", + "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", "dev": true, "dependencies": { - "@jest/console": "^29.1.2", - "@jest/reporters": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/reporters": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.0.0", - "jest-config": "^29.1.2", - "jest-haste-map": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-resolve-dependencies": "^29.1.2", - "jest-runner": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", - "jest-watcher": "^29.1.2", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.2.2", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-resolve-dependencies": "^29.2.2", + "jest-runner": "^29.2.2", + "jest-runtime": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", + "jest-watcher": "^29.2.2", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -2549,9 +2549,9 @@ } }, "node_modules/@jest/core/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2591,18 +2591,18 @@ } }, "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -2611,12 +2611,12 @@ } }, "node_modules/@jest/core/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2628,9 +2628,9 @@ } }, "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2695,25 +2695,25 @@ } }, "node_modules/@jest/expect": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", - "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", "dev": true, "dependencies": { - "expect": "^29.1.2", - "jest-snapshot": "^29.1.2" + "expect": "^29.2.2", + "jest-snapshot": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", - "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", + "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", "dev": true, "dependencies": { - "jest-get-type": "^29.0.0" + "jest-get-type": "^29.2.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -2736,56 +2736,56 @@ } }, "node_modules/@jest/globals": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.3.tgz", - "integrity": "sha512-YqGHT65rFY2siPIHHFjuCGUsbzRjdqkwbat+Of6DmYRg5shIXXrLdZoVE/+TJ9O1dsKsFmYhU58JvIbZRU1Z9w==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", + "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/types": "^29.0.3", - "jest-mock": "^29.0.3" + "@jest/environment": "^29.2.2", + "@jest/expect": "^29.2.2", + "@jest/types": "^29.2.1", + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/environment": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.3.tgz", - "integrity": "sha512-iKl272NKxYNQNqXMQandAIwjhQaGw5uJfGXduu8dS9llHi8jV2ChWrtOAVPnMbaaoDhnI3wgUGNDvZgHeEJQCA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.0.3" + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/fake-timers": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.3.tgz", - "integrity": "sha512-tmbUIo03x0TdtcZCESQ0oQSakPCpo7+s6+9mU19dd71MptkP4zCwoeZqna23//pgbhtT1Wq02VmA9Z9cNtvtCQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.3.tgz", - "integrity": "sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2834,18 +2834,18 @@ } }, "node_modules/@jest/globals/node_modules/jest-message-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.3.tgz", - "integrity": "sha512-7T8JiUTtDfppojosORAflABfLsLKMLkBHSWkjNQrjIltGoDzNGn7wEPOSfjqYAGTYME65esQzMJxGDjuLBKdOg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -2854,25 +2854,26 @@ } }, "node_modules/@jest/globals/node_modules/jest-mock": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.3.tgz", - "integrity": "sha512-ort9pYowltbcrCVR43wdlqfAiFJXBx8l4uJDsD8U72LgBcetvEp+Qxj1W9ZYgMRoeAo+ov5cnAGF2B6+Oth+ww==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", - "@types/node": "*" + "@jest/types": "^29.2.1", + "@types/node": "*", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/jest-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.3.tgz", - "integrity": "sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2884,9 +2885,9 @@ } }, "node_modules/@jest/globals/node_modules/pretty-format": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.3.tgz", - "integrity": "sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2925,16 +2926,16 @@ } }, "node_modules/@jest/reporters": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", - "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", + "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -2947,13 +2948,12 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", "v8-to-istanbul": "^9.0.1" }, "engines": { @@ -2969,9 +2969,9 @@ } }, "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -3041,18 +3041,18 @@ } }, "node_modules/@jest/reporters/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -3061,12 +3061,12 @@ } }, "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -3078,13 +3078,13 @@ } }, "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -3120,9 +3120,9 @@ } }, "node_modules/@jest/reporters/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -3185,9 +3185,9 @@ } }, "node_modules/@jest/source-map": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", - "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.15", @@ -3199,13 +3199,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", - "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", + "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", "dev": true, "dependencies": { - "@jest/console": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/types": "^29.2.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -3214,9 +3214,9 @@ } }, "node_modules/@jest/test-result/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -3256,14 +3256,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", - "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", + "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", "dev": true, "dependencies": { - "@jest/test-result": "^29.1.2", + "@jest/test-result": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", + "jest-haste-map": "^29.2.1", "slash": "^3.0.0" }, "engines": { @@ -3280,22 +3280,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", - "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", + "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.2", + "jest-haste-map": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -3306,9 +3306,9 @@ } }, "node_modules/@jest/transform/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -3348,12 +3348,12 @@ } }, "node_modules/@jest/transform/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -4179,9 +4179,9 @@ "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { - "version": "0.24.43", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", - "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", "dev": true }, "node_modules/@sindresorhus/is": { @@ -5588,15 +5588,15 @@ } }, "node_modules/babel-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", - "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", + "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", "dev": true, "dependencies": { - "@jest/transform": "^29.1.2", + "@jest/transform": "^29.2.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.0.2", + "babel-preset-jest": "^29.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -5694,9 +5694,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", - "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -6159,12 +6159,12 @@ } }, "node_modules/babel-preset-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", - "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.0.2", + "babel-plugin-jest-hoist": "^29.2.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { @@ -7688,9 +7688,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", - "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7846,9 +7846,9 @@ "dev": true }, "node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "engines": { "node": ">=12" @@ -8900,16 +8900,16 @@ } }, "node_modules/expect": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", - "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2" + "@jest/expect-utils": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -8922,9 +8922,9 @@ "optional": true }, "node_modules/expect/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -8964,18 +8964,18 @@ } }, "node_modules/expect/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -8984,12 +8984,12 @@ } }, "node_modules/expect/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -9001,9 +9001,9 @@ } }, "node_modules/expect/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -9568,6 +9568,20 @@ "devOptional": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "license": "MIT" @@ -11235,9 +11249,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { "@babel/core": "^7.12.3", @@ -11310,15 +11324,15 @@ "license": "MIT" }, "node_modules/jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", - "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", + "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", "dev": true, "dependencies": { - "@jest/core": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/core": "^29.2.2", + "@jest/types": "^29.2.1", "import-local": "^3.0.2", - "jest-cli": "^29.1.2" + "jest-cli": "^29.2.2" }, "bin": { "jest": "bin/jest.js" @@ -11336,9 +11350,9 @@ } }, "node_modules/jest-changed-files": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", - "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", "dev": true, "dependencies": { "execa": "^5.0.0", @@ -11349,28 +11363,28 @@ } }, "node_modules/jest-circus": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", - "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", + "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.2", - "@jest/expect": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/expect": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.1.2", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", + "jest-each": "^29.2.1", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-runtime": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", "p-limit": "^3.1.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -11379,41 +11393,41 @@ } }, "node_modules/jest-circus/node_modules/@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11462,18 +11476,18 @@ } }, "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -11482,26 +11496,26 @@ } }, "node_modules/jest-circus/node_modules/jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11513,9 +11527,9 @@ } }, "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11554,21 +11568,21 @@ } }, "node_modules/jest-cli": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", - "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", + "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", "dev": true, "dependencies": { - "@jest/core": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/core": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-config": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -11588,9 +11602,9 @@ } }, "node_modules/jest-cli/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11630,12 +11644,12 @@ } }, "node_modules/jest-cli/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11647,31 +11661,31 @@ } }, "node_modules/jest-config": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", - "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", + "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.1.2", - "@jest/types": "^29.1.2", - "babel-jest": "^29.1.2", + "@jest/test-sequencer": "^29.2.2", + "@jest/types": "^29.2.1", + "babel-jest": "^29.2.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.1.2", - "jest-environment-node": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-runner": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-circus": "^29.2.2", + "jest-environment-node": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-runner": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -11692,41 +11706,41 @@ } }, "node_modules/jest-config/node_modules/@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11805,35 +11819,35 @@ } }, "node_modules/jest-config/node_modules/jest-environment-node": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", - "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", + "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -11842,26 +11856,26 @@ } }, "node_modules/jest-config/node_modules/jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11885,9 +11899,9 @@ } }, "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11955,15 +11969,15 @@ } }, "node_modules/jest-diff": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", - "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.0.0", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -11986,9 +12000,9 @@ } }, "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12018,9 +12032,9 @@ "dev": true }, "node_modules/jest-docblock": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", - "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" @@ -12030,25 +12044,25 @@ } }, "node_modules/jest-each": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", - "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", + "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", - "jest-util": "^29.1.2", - "pretty-format": "^29.1.2" + "jest-get-type": "^29.2.0", + "jest-util": "^29.2.1", + "pretty-format": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12088,12 +12102,12 @@ } }, "node_modules/jest-each/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12105,9 +12119,9 @@ } }, "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12205,9 +12219,9 @@ } }, "node_modules/jest-get-type": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", - "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -12222,20 +12236,20 @@ } }, "node_modules/jest-haste-map": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", - "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", + "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -12247,9 +12261,9 @@ } }, "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12289,12 +12303,12 @@ } }, "node_modules/jest-haste-map/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12306,13 +12320,13 @@ } }, "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -12336,13 +12350,13 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", - "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", + "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", "dev": true, "dependencies": { - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -12361,9 +12375,9 @@ } }, "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12381,15 +12395,15 @@ "dev": true }, "node_modules/jest-matcher-utils": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", - "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", + "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.1.2", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -12412,9 +12426,9 @@ } }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12528,26 +12542,26 @@ } }, "node_modules/jest-regex-util": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", - "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", - "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", + "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", + "jest-haste-map": "^29.2.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -12557,22 +12571,22 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", - "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", + "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", "dev": true, "dependencies": { - "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.1.2" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12612,12 +12626,12 @@ } }, "node_modules/jest-resolve/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12638,30 +12652,30 @@ } }, "node_modules/jest-runner": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", - "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", + "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", "dev": true, "dependencies": { - "@jest/console": "^29.1.2", - "@jest/environment": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/environment": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.10.2", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.1.2", - "jest-haste-map": "^29.1.2", - "jest-leak-detector": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-resolve": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-util": "^29.1.2", - "jest-watcher": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.2.2", + "jest-haste-map": "^29.2.1", + "jest-leak-detector": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-resolve": "^29.2.2", + "jest-runtime": "^29.2.2", + "jest-util": "^29.2.1", + "jest-watcher": "^29.2.2", + "jest-worker": "^29.2.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -12670,41 +12684,41 @@ } }, "node_modules/jest-runner/node_modules/@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12753,35 +12767,35 @@ } }, "node_modules/jest-runner/node_modules/jest-environment-node": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", - "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", + "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -12790,26 +12804,26 @@ } }, "node_modules/jest-runner/node_modules/jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12821,13 +12835,13 @@ } }, "node_modules/jest-runner/node_modules/jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -12851,9 +12865,9 @@ } }, "node_modules/jest-runner/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -12902,31 +12916,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", - "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", + "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", "dev": true, "dependencies": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/globals": "^29.1.2", - "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/globals": "^29.2.2", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -12935,56 +12949,41 @@ } }, "node_modules/jest-runtime/node_modules/@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@jest/globals": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", - "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.1.2", - "@jest/expect": "^29.1.2", - "@jest/types": "^29.1.2", - "jest-mock": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13063,18 +13062,18 @@ } }, "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -13083,26 +13082,26 @@ } }, "node_modules/jest-runtime/node_modules/jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -13126,9 +13125,9 @@ } }, "node_modules/jest-runtime/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13172,9 +13171,9 @@ "license": "MIT" }, "node_modules/jest-snapshot": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", - "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", + "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -13183,23 +13182,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/expect-utils": "^29.2.2", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.1.2", + "expect": "^29.2.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.1.2", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.2.1", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "semver": "^7.3.5" }, "engines": { @@ -13207,9 +13206,9 @@ } }, "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13249,18 +13248,18 @@ } }, "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -13269,12 +13268,12 @@ } }, "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -13286,9 +13285,9 @@ } }, "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13358,26 +13357,26 @@ } }, "node_modules/jest-validate": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", - "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", + "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", + "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^29.1.2" + "pretty-format": "^29.2.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13429,9 +13428,9 @@ } }, "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13461,18 +13460,18 @@ "dev": true }, "node_modules/jest-watcher": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", - "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", + "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", "dev": true, "dependencies": { - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^29.1.2", + "emittery": "^0.13.1", + "jest-util": "^29.2.1", "string-length": "^4.0.1" }, "engines": { @@ -13480,9 +13479,9 @@ } }, "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -13522,12 +13521,12 @@ } }, "node_modules/jest-watcher/node_modules/jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -13570,9 +13569,9 @@ } }, "node_modules/jest/node_modules/@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -19089,19 +19088,6 @@ "node": ">=8" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -19160,22 +19146,6 @@ "node": ">=6" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -21071,9 +21041,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -21517,12 +21487,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-arrow-functions": { @@ -22303,23 +22273,23 @@ "dev": true }, "@jest/console": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", - "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", + "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22350,29 +22320,29 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22381,9 +22351,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22414,45 +22384,45 @@ } }, "@jest/core": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", - "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", + "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", "dev": true, "requires": { - "@jest/console": "^29.1.2", - "@jest/reporters": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/reporters": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.0.0", - "jest-config": "^29.1.2", - "jest-haste-map": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-resolve-dependencies": "^29.1.2", - "jest-runner": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", - "jest-watcher": "^29.1.2", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.2.2", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-resolve-dependencies": "^29.2.2", + "jest-runner": "^29.2.2", + "jest-runtime": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", + "jest-watcher": "^29.2.2", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22483,29 +22453,29 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22514,9 +22484,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22566,22 +22536,22 @@ } }, "@jest/expect": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", - "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", "dev": true, "requires": { - "expect": "^29.1.2", - "jest-snapshot": "^29.1.2" + "expect": "^29.2.2", + "jest-snapshot": "^29.2.2" } }, "@jest/expect-utils": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", - "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", + "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", "dev": true, "requires": { - "jest-get-type": "^29.0.0" + "jest-get-type": "^29.2.0" } }, "@jest/fake-timers": { @@ -22597,47 +22567,47 @@ } }, "@jest/globals": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.3.tgz", - "integrity": "sha512-YqGHT65rFY2siPIHHFjuCGUsbzRjdqkwbat+Of6DmYRg5shIXXrLdZoVE/+TJ9O1dsKsFmYhU58JvIbZRU1Z9w==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", + "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", "dev": true, "requires": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/types": "^29.0.3", - "jest-mock": "^29.0.3" + "@jest/environment": "^29.2.2", + "@jest/expect": "^29.2.2", + "@jest/types": "^29.2.1", + "jest-mock": "^29.2.2" }, "dependencies": { "@jest/environment": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.3.tgz", - "integrity": "sha512-iKl272NKxYNQNqXMQandAIwjhQaGw5uJfGXduu8dS9llHi8jV2ChWrtOAVPnMbaaoDhnI3wgUGNDvZgHeEJQCA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.0.3" + "jest-mock": "^29.2.2" } }, "@jest/fake-timers": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.3.tgz", - "integrity": "sha512-tmbUIo03x0TdtcZCESQ0oQSakPCpo7+s6+9mU19dd71MptkP4zCwoeZqna23//pgbhtT1Wq02VmA9Z9cNtvtCQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "@jest/types": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.3.tgz", - "integrity": "sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22677,39 +22647,40 @@ } }, "jest-message-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.3.tgz", - "integrity": "sha512-7T8JiUTtDfppojosORAflABfLsLKMLkBHSWkjNQrjIltGoDzNGn7wEPOSfjqYAGTYME65esQzMJxGDjuLBKdOg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.3.tgz", - "integrity": "sha512-ort9pYowltbcrCVR43wdlqfAiFJXBx8l4uJDsD8U72LgBcetvEp+Qxj1W9ZYgMRoeAo+ov5cnAGF2B6+Oth+ww==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "requires": { - "@jest/types": "^29.0.3", - "@types/node": "*" + "@jest/types": "^29.2.1", + "@types/node": "*", + "jest-util": "^29.2.1" } }, "jest-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.3.tgz", - "integrity": "sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22718,9 +22689,9 @@ } }, "pretty-format": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.3.tgz", - "integrity": "sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22751,16 +22722,16 @@ } }, "@jest/reporters": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", - "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", + "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -22773,20 +22744,19 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", "v8-to-istanbul": "^9.0.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22841,29 +22811,29 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22872,13 +22842,13 @@ } }, "jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -22904,9 +22874,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -22955,9 +22925,9 @@ } }, "@jest/source-map": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", - "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.15", @@ -22966,21 +22936,21 @@ } }, "@jest/test-result": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", - "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", + "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", "dev": true, "requires": { - "@jest/console": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/types": "^29.2.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -23013,14 +22983,14 @@ } }, "@jest/test-sequencer": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", - "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", + "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", "dev": true, "requires": { - "@jest/test-result": "^29.1.2", + "@jest/test-result": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", + "jest-haste-map": "^29.2.1", "slash": "^3.0.0" }, "dependencies": { @@ -23033,22 +23003,22 @@ } }, "@jest/transform": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", - "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", + "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.2", + "jest-haste-map": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -23056,9 +23026,9 @@ }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -23089,12 +23059,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -23681,9 +23651,9 @@ "devOptional": true }, "@sinclair/typebox": { - "version": "0.24.43", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", - "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", "dev": true }, "@sindresorhus/is": { @@ -24778,15 +24748,15 @@ } }, "babel-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", - "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", + "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", "dev": true, "requires": { - "@jest/transform": "^29.1.2", + "@jest/transform": "^29.2.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.0.2", + "babel-preset-jest": "^29.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -24859,9 +24829,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", - "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -25258,12 +25228,12 @@ } }, "babel-preset-jest": { - "version": "29.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", - "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^29.0.2", + "babel-plugin-jest-hoist": "^29.2.0", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -26272,9 +26242,9 @@ "version": "5.0.0" }, "diff-sequences": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", - "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", "dev": true }, "dir-glob": { @@ -26378,9 +26348,9 @@ "dev": true }, "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true }, "emoji-regex": { @@ -27087,22 +27057,22 @@ } }, "expect": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", - "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", + "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", "dev": true, "requires": { - "@jest/expect-utils": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2" + "@jest/expect-utils": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -27133,29 +27103,29 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -27164,9 +27134,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -27566,6 +27536,13 @@ "version": "1.0.0", "devOptional": true }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1" }, @@ -28621,9 +28598,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "requires": { "@babel/core": "^7.12.3", @@ -28681,21 +28658,21 @@ "version": "2.1.0" }, "jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", - "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", + "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", "dev": true, "requires": { - "@jest/core": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/core": "^29.2.2", + "@jest/types": "^29.2.1", "import-local": "^3.0.2", - "jest-cli": "^29.1.2" + "jest-cli": "^29.2.2" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -28728,9 +28705,9 @@ } }, "jest-changed-files": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", - "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", "dev": true, "requires": { "execa": "^5.0.0", @@ -28738,62 +28715,62 @@ } }, "jest-circus": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", - "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", + "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", "dev": true, "requires": { - "@jest/environment": "^29.1.2", - "@jest/expect": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/expect": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.1.2", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", + "jest-each": "^29.2.1", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-runtime": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", "p-limit": "^3.1.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "dependencies": { "@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" } }, "@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -28833,40 +28810,40 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28875,9 +28852,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -28908,29 +28885,29 @@ } }, "jest-cli": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", - "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", + "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", "dev": true, "requires": { - "@jest/core": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/core": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-config": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "prompts": "^2.0.1", "yargs": "^17.3.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -28961,12 +28938,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28977,65 +28954,65 @@ } }, "jest-config": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", - "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", + "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.1.2", - "@jest/types": "^29.1.2", - "babel-jest": "^29.1.2", + "@jest/test-sequencer": "^29.2.2", + "@jest/types": "^29.2.1", + "babel-jest": "^29.2.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.1.2", - "jest-environment-node": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-runner": "^29.1.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-circus": "^29.2.2", + "jest-environment-node": "^29.2.2", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-runner": "^29.2.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "dependencies": { "@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" } }, "@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29099,54 +29076,54 @@ } }, "jest-environment-node": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", - "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", + "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", "dev": true, "requires": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29164,9 +29141,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29220,15 +29197,15 @@ } }, "jest-diff": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", - "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^29.0.0", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "dependencies": { "chalk": { @@ -29242,9 +29219,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29269,31 +29246,31 @@ } }, "jest-docblock": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", - "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", - "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", + "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", - "jest-util": "^29.1.2", - "pretty-format": "^29.1.2" + "jest-get-type": "^29.2.0", + "jest-util": "^29.2.1", + "pretty-format": "^29.2.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29324,12 +29301,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29338,9 +29315,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29419,9 +29396,9 @@ } }, "jest-get-type": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", - "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", "dev": true }, "jest-github-actions-reporter": { @@ -29432,29 +29409,29 @@ } }, "jest-haste-map": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", - "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", + "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.0.0", - "jest-util": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29485,12 +29462,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29499,13 +29476,13 @@ } }, "jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -29524,13 +29501,13 @@ } }, "jest-leak-detector": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", - "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", + "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", "dev": true, "requires": { - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "dependencies": { "ansi-styles": { @@ -29540,9 +29517,9 @@ "dev": true }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29559,15 +29536,15 @@ } }, "jest-matcher-utils": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", - "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", + "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.1.2", - "jest-get-type": "^29.0.0", - "pretty-format": "^29.1.2" + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "dependencies": { "chalk": { @@ -29581,9 +29558,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29662,32 +29639,32 @@ } }, "jest-regex-util": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", - "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", "dev": true }, "jest-resolve": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", - "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", + "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", + "jest-haste-map": "^29.2.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.1.2", - "jest-validate": "^29.1.2", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29718,12 +29695,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29740,74 +29717,74 @@ } }, "jest-resolve-dependencies": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", - "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", + "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", "dev": true, "requires": { - "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.1.2" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.2.2" } }, "jest-runner": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", - "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", + "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", "dev": true, "requires": { - "@jest/console": "^29.1.2", - "@jest/environment": "^29.1.2", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/console": "^29.2.1", + "@jest/environment": "^29.2.2", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.10.2", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.1.2", - "jest-haste-map": "^29.1.2", - "jest-leak-detector": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-resolve": "^29.1.2", - "jest-runtime": "^29.1.2", - "jest-util": "^29.1.2", - "jest-watcher": "^29.1.2", - "jest-worker": "^29.1.2", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.2.2", + "jest-haste-map": "^29.2.1", + "jest-leak-detector": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-resolve": "^29.2.2", + "jest-runtime": "^29.2.2", + "jest-util": "^29.2.1", + "jest-watcher": "^29.2.2", + "jest-worker": "^29.2.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "dependencies": { "@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" } }, "@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29847,54 +29824,54 @@ } }, "jest-environment-node": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", - "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", + "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", "dev": true, "requires": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29903,13 +29880,13 @@ } }, "jest-worker": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", - "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.1.2", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -29926,9 +29903,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -29969,77 +29946,65 @@ } }, "jest-runtime": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", - "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", + "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", "dev": true, "requires": { - "@jest/environment": "^29.1.2", - "@jest/fake-timers": "^29.1.2", - "@jest/globals": "^29.1.2", - "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/environment": "^29.2.2", + "@jest/fake-timers": "^29.2.2", + "@jest/globals": "^29.2.2", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.1.2", - "jest-snapshot": "^29.1.2", - "jest-util": "^29.1.2", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.2", + "jest-snapshot": "^29.2.2", + "jest-util": "^29.2.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "dependencies": { "@jest/environment": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", - "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", + "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/fake-timers": "^29.2.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^29.1.2" + "jest-mock": "^29.2.2" } }, "@jest/fake-timers": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", - "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", + "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.1.2", - "jest-mock": "^29.1.2", - "jest-util": "^29.1.2" - } - }, - "@jest/globals": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", - "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", - "dev": true, - "requires": { - "@jest/environment": "^29.1.2", - "@jest/expect": "^29.1.2", - "@jest/types": "^29.1.2", - "jest-mock": "^29.1.2" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.2", + "jest-util": "^29.2.1" } }, "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30103,40 +30068,40 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", - "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", + "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-util": "^29.1.2" + "jest-util": "^29.2.1" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -30154,9 +30119,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30191,9 +30156,9 @@ "dev": true }, "jest-snapshot": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", - "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", + "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -30202,30 +30167,30 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.1.2", - "@jest/transform": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/expect-utils": "^29.2.2", + "@jest/transform": "^29.2.2", + "@jest/types": "^29.2.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.1.2", + "expect": "^29.2.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.1.2", - "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.1.2", - "jest-matcher-utils": "^29.1.2", - "jest-message-util": "^29.1.2", - "jest-util": "^29.1.2", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.2.1", + "jest-matcher-utils": "^29.2.2", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "semver": "^7.3.5" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30256,29 +30221,29 @@ } }, "jest-message-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", - "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.1.2", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -30287,9 +30252,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30342,23 +30307,23 @@ } }, "jest-validate": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", - "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", + "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.0.0", + "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^29.1.2" + "pretty-format": "^29.2.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30395,9 +30360,9 @@ } }, "pretty-format": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", - "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30422,25 +30387,25 @@ } }, "jest-watcher": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", - "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", + "version": "29.2.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", + "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", "dev": true, "requires": { - "@jest/test-result": "^29.1.2", - "@jest/types": "^29.1.2", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^29.1.2", + "emittery": "^0.13.1", + "jest-util": "^29.2.1", "string-length": "^4.0.1" }, "dependencies": { "@jest/types": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", - "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -30471,12 +30436,12 @@ } }, "jest-util": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", - "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^29.1.2", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -34036,16 +34001,6 @@ "has-flag": "^4.0.0" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -34090,16 +34045,6 @@ "readable-stream": "^3.1.1" } }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, "terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", diff --git a/package.json b/package.json index de12380731..aae6ec5c74 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@babel/preset-env": "^7.18.2", "@graphql-inspector/core": "^3.1.2", "@graphql-tools/load": "^7.5.14", - "@jest/globals": "29.0.3", + "@jest/globals": "29.2.2", "@octokit/graphql": "5.0.4", "@octokit/rest": "^19.0.4", "@types/github-slugger": "^1.3.0", @@ -138,7 +138,7 @@ "http-status-code": "^2.1.0", "husky": "^8.0.1", "japanese-characters": "^1.1.0", - "jest": "29.1.2", + "jest": "29.2.2", "jest-environment-puppeteer": "^5.0.4", "jest-fail-on-console": "^3.0.1", "jest-github-actions-reporter": "^1.0.3", diff --git a/tests/unit/find-page-middleware.js b/tests/unit/find-page-middleware.js index 98ca5a1eec..944763e4d8 100644 --- a/tests/unit/find-page-middleware.js +++ b/tests/unit/find-page-middleware.js @@ -59,6 +59,13 @@ describe('find page middleware', () => { test('re-reads from disk if in development mode', async () => { const [req, res] = makeRequestResponse('/en/page-with-redirects') + req.context.pages = { + '/en/page-with-redirects': await Page.init({ + relativePath: 'page-with-redirects.md', + basePath: path.join(__dirname, '../fixtures'), + languageCode: 'en', + }), + } await findPage(req, res, () => {}, { isDev: true, @@ -69,6 +76,13 @@ describe('find page middleware', () => { test('finds it for non-fpt version URLS', async () => { const [req, res] = makeRequestResponse('/en/page-with-redirects', 'enterprise-cloud@latest') + req.context.pages = { + '/en/page-with-redirects': await Page.init({ + relativePath: 'page-with-redirects.md', + basePath: path.join(__dirname, '../fixtures'), + languageCode: 'en', + }), + } await findPage(req, res, () => {}, { isDev: true, diff --git a/translations/es-ES/content/actions/security-guides/security-hardening-for-github-actions.md b/translations/es-ES/content/actions/security-guides/security-hardening-for-github-actions.md index 5a18705739..fed4af9a0b 100644 --- a/translations/es-ES/content/actions/security-guides/security-hardening-for-github-actions.md +++ b/translations/es-ES/content/actions/security-guides/security-hardening-for-github-actions.md @@ -215,6 +215,12 @@ For more information on how to configure this setting, see {% ifversion allow-ac These sections consider some of the steps an attacker can take if they're able to run malicious commands on a {% data variables.product.prodname_actions %} runner. +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %}-hosted runners do not scan for malicious code downloaded by a user during their job, such as a compromised third party library. + +{% endnote %} + ### Accessing secrets Workflows triggered using the `pull_request` event have read-only permissions and have no access to secrets. However, these permissions differ for various event triggers such as `issue_comment`, `issues` and `push`, where the attacker could attempt to steal repository secrets or use the write permission of the job's [`GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token). diff --git a/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md index 5b79fefc07..fd0656617f 100644 --- a/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md +++ b/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md @@ -77,9 +77,15 @@ Maximum concurrency was measured using multiple repositories, job duration of ap {%- endif %} -{%- ifversion ghes = 3.6 %} +{%- ifversion ghes > 3.5 %} -{% data reusables.actions.hardware-requirements-3.6 %} + +| vCPUs | Memory | Maximum Connected Runners | +| :---| :--- | :--- | +| 8 | 64 GB | 740 runners | +| 32 | 160 GB | 2700 runners | +| 96 | 384 GB | 7000 runners | +| 128 | 512 GB | 7000 runners | {% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 547784b6ad..294dc0dd7d 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -16,9 +16,9 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." -You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." +You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." {% ifversion fpt or ghec %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e95ef98441..2b6e79d378 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -23,7 +23,7 @@ shortTitle: Generate new SSH key When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. -If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -44,7 +44,7 @@ If you are a site administrator for {% data variables.location.product_location {%- ifversion ghae %} ```shell - $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` @@ -160,7 +160,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endnote %} -4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endmac %} @@ -178,7 +178,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endwindows %} @@ -189,7 +189,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endlinux %} @@ -246,4 +246,4 @@ If you are using macOS or Linux, you may need to update your SSH client or insta > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] ``` -7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 0ddfcd5c89..1b1c1fbd9f 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -121,6 +121,6 @@ You can use an existing SSH key to sign commits and tags, or generate a new one {% data reusables.gpg.x-509-key %} ## Further reading -- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +- "[Adding a new SSH key to your GitHub account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." - "[Signing commits](/articles/signing-commits)" - "[Signing tags](/articles/signing-tags)" diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/index.md b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/index.md index 4b0cb1d23c..000b661e07 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/index.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/index.md @@ -19,11 +19,11 @@ children: - /configuring-dependabot-alerts - /viewing-and-updating-dependabot-alerts - /configuring-notifications-for-dependabot-alerts -ms.openlocfilehash: 04365ffa391c8da15c34f1e0651d9efa4ebb1a42 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: b9abda5288d4f0dfed2175b0e944c0d1bc48f3f7 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '146455497' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114101' --- diff --git a/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md new file mode 100644 index 0000000000..f3f8bdb899 --- /dev/null +++ b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md @@ -0,0 +1,51 @@ +--- +title: Incorporación de un colaborador a un aviso de seguridad de repositorio +intro: Puedes agregar otros usuarios o equipos para que colaboren contigo en un aviso de seguridad. +redirect_from: + - /articles/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory + - /code-security/security-advisories/adding-a-collaborator-to-a-security-advisory + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Add collaborators +ms.openlocfilehash: d080fa5d7b66d9ce89b7985f689133e52ec69cc3 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114141' +--- +Las personas con permisos de administrador en una asesoría de seguridad pueden añadir colaboradores a la misma. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Añadir un colaborador a una asesoría de seguridad + +Los colaboradores tienen permisos de escritura para el aviso de seguridad. Para obtener más información, vea "[Niveles de permisos para avisos de seguridad del repositorio](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)". + +{% note %} + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} Para obtener más información sobre cómo quitar un colaborador en un aviso de seguridad, vea "[Eliminación de un colaborador de un aviso de seguridad del repositorio](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)". + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En la lista de "Asesorías de Seguridad", da clic en la asesoría a la cual quieras añadir un colaborador. +5. En la parte derecha de la página, debajo de "Colaboradores", teclea el nombre de usuario o equipo que quieras añadir a la asesoría de seguridad. + ![Campo para escribir el nombre del equipo o el usuario](/assets/images/help/security/add-collaborator-field.png) +6. Haga clic en **Agregar**. + ![Botón Agregar](/assets/images/help/security/security-advisory-add-collaborator-button.png) + +## Información adicional + +- "[Niveles de permiso para avisos de seguridad de repositorios](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)" +- "[Eliminación de un colaborador de un aviso de seguridad del repositorio](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)". diff --git a/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md new file mode 100644 index 0000000000..5d656bf83c --- /dev/null +++ b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md @@ -0,0 +1,91 @@ +--- +title: Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio +intro: Puedes crear una bifurcación privada temporal para colaborar de manera privada en la resolución de una vulnerabilidad de seguridad en tu repositorio. +redirect_from: + - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration + - Forks +shortTitle: Temporary private forks +ms.openlocfilehash: c5d4f5f8b58498f995a473b4c0c0f3c38ea96083 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114133' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Prerrequisitos + +Antes de que puedas colaborar en una bifurcación privada temporal, debes crear un borrador de asesoría de seguridad. Para más información, vea "[Creación de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/creating-a-repository-security-advisory)". + +## Crear una bifurcación privada temporal + +Cualquier persona con permisos de administración para un aviso de seguridad puede crear una bifurcación privada temporal. + +Para garantizar la seguridad de la información sobre vulnerabilidades, las integraciones, entre las que se incluye CI, no pueden acceder a las bifurcaciones privadas temporales. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En la lista de "Asesorías de Seguridad", da clic en aquella en la cual desees crear una bifurcación privada temporal. + ![Aviso de seguridad en la lista](/assets/images/help/security/security-advisory-in-list.png) +5. Haga clic en **Nueva bifurcación privada temporal**. + ![Botón Nueva bifurcación privada temporal](/assets/images/help/security/new-temporary-private-fork-button.png) + +## Añadir colaboradores a una bifurcación privada temporal + +Cualquiera con permisos de administrador en una asesoría de seguridad puede añadir colaboradores adicionales a la misma, y estos pueden acceder a la bifurcación privada temporal. Para más información, vea "[Adición de un colaborador a un aviso de seguridad de repositorio](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)". + +## Agregar cambios a una bifurcación privada temporal + +Cualquier persona con permisos de escritura para un aviso de seguridad puede agregar cambios a una bifurcación privada temporal. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En la lista de "Asesorías de Seguridad", da clic sobre aquella en la que quieras añadir cambios. + ![Aviso de seguridad en la lista](/assets/images/help/security/security-advisory-in-list.png) +5. Agrega tus cambios en {% data variables.product.product_name %} o localmente: + - Para añadir cambios en {% data variables.product.product_name %}, debajo de "Añadir cambios a este aviso", haga clic en **la bifurcación privada temporal**. Luego, crea una nueva rama y edita los archivos. Para más información, vea "[Creación y eliminación de ramas dentro del repositorio](/articles/creating-and-deleting-branches-within-your-repository)" y "[Edición de archivos](/repositories/working-with-files/managing-files/editing-files)". + - Para añadir cambios localmente, sigue las instrucciones descritas en "Clonar y crear una nueva rama" y "Haz tus cambios, posteriormente, súbelos". + ![Adición de cambios en este cuadro de aviso](/assets/images/help/security/add-changes-to-this-advisory-box.png) + +## Crear una solicitud de extracción desde una bifurcación privada temporal + +Cualquier persona con permisos de escritura para un aviso de seguridad puede crear una solicitud de extracción desde una bifurcación privada temporal. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En la lista de "Asesorías de Seguridad", da clic sobre aquella en la que desees crear una solicitud de extracción. + ![Aviso de seguridad en la lista](/assets/images/help/security/security-advisory-in-list.png) +5. A la derecha del nombre de la rama, haga clic en **Comparar y solicitud de incorporación de cambios**. + ![Botón Comparar y solicitud de incorporación de cambios](/assets/images/help/security/security-advisory-compare-and-pr.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.merge-all-pulls-together %} Para más información, vea "[Combinación de cambios en un aviso de seguridad](#merging-changes-in-a-security-advisory)". + +## Fusionar cambios en una asesoría de seguridad + +Cualquiera con permisos de administrador en una asesoría de seguridad puede fusionar los cambios en la misma. + +{% data reusables.repositories.merge-all-pulls-together %} + +Antes de que puedas fusionar cambios en una asesoría de seguridad, cada solicitud de extracción abierta en la bifurcación privada temporal debe ser fusionable. No puede haber conflictos de fusión, y se deben cumplir los requisitos de protección de la rama. Para garantizar la seguridad de la información sobre las vulnerabilidades, las verificaciones de estado no ejecutan solicitudes de extracción en bifurcaciones privadas temporales. Para más información, vea "[Acerca de las ramas protegidas](/articles/about-protected-branches)". + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En el listado de "Asesorías de Seguridad", da clic sobre aquella que tiene los cambios que quieras fusionar. + ![Aviso de seguridad en la lista](/assets/images/help/security/security-advisory-in-list.png) +5. Para combinar todas las solicitudes de incorporación de cambios abiertas en la bifurcación privada temporal, haga clic en **Combinar solicitudes de incorporación de cambios**. + ![Botón Combinar solicitudes de incorporación de cambios](/assets/images/help/security/merge-pull-requests-button.png) + +Después de que fusiones cambios en una asesoría de seguridad, puedes publicarla para alertar a tu comunidad sobre las vulnerabilidades de seguridad en versiones previas de tu proyecto. Para más información, vea "[Publicación de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)". + +## Información adicional + +- "[Niveles de permiso para avisos de seguridad de repositorios](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Publicación de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)" diff --git a/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md new file mode 100644 index 0000000000..f311b13d03 --- /dev/null +++ b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md @@ -0,0 +1,51 @@ +--- +title: Niveles de permiso para avisos de seguridad de repositorios +intro: Las acciones que puedes tomar en una asesoría de seguridad de repositorio dependen de si tienes permisos de administrador o de escritura en esta. +redirect_from: + - /articles/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories + - /code-security/security-advisories/permission-levels-for-security-advisories + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Security advisories + - Vulnerabilities + - Permissions +shortTitle: Permission levels +ms.openlocfilehash: f4195822de121780f1629fda3d646170d4c4e566 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114134' +--- +Este artículo solo se aplica a los avisos de seguridad de nivel de repositorio. Cualquiera puede contribuir a los avisos de seguridad globales en {% data variables.product.prodname_advisory_database %} en [github.com/advisories](https://github.com/advisories). Las ediciones a las asesorías globales no cambiarán ni afectarán la forma en la que se muestra la asesoría en el repositorio. Para más información, vea "[Edición de avisos de seguridad en {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)". + +## Introducción sobre los permisos + +{% data reusables.repositories.security-advisory-admin-permissions %} Para más información sobre cómo agregar un colaborador a un aviso de seguridad, vea "[Adición de un colaborador a un aviso de seguridad de repositorio](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)". + +Acción | Permisos de escritura | Permisos de administrador | +------ | ----------------- | ----------------- | +Ver un borrador de asesoría de seguridad | x | x | +Agregar colaboradores al aviso de seguridad (vea "[Adición de un colaborador a un aviso de seguridad de repositorio](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)") | | x | +Editar y borrar cualquier comentario en la asesoría de seguridad | x | x | +Crear una bifurcación privada temporal en el aviso de seguridad (vea "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | | x | +Agregar cambios a una bifurcación privada temporal en el aviso de seguridad (vea "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | x | x | +Crear solicitudes de incorporación de cambios en una bifurcación privada temporal (vea "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | x | x | +Combinar cambios en el aviso de seguridad (vea "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | | x | +Agregar y editar metadatos en el aviso de seguridad (vea "[Publicación de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)") | x | x | +Agregar y quitar créditos en el aviso de seguridad (vea "[Edición de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/editing-a-repository-security-advisory)") | x | x | +Cerrar el borrador de la asesoría de seguridad | | x | +Publicar el aviso de seguridad (vea "[Publicación de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)") | | x | + +## Información adicional + +- "[Adición de un colaborador a un aviso de seguridad de repositorio](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)" +- "[Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)" +- "[Eliminación de un colaborador de un aviso de seguridad del repositorio](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)" +- "[Retirada de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory)" diff --git a/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md new file mode 100644 index 0000000000..8bdc2bc378 --- /dev/null +++ b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md @@ -0,0 +1,43 @@ +--- +title: Eliminación de un colaborador de un aviso de seguridad del repositorio +intro: 'Cuando eliminas a un colaborador de una asesoría de seguridad de repositorio, este pierde el acceso de lectura y escritura en el debate y los metadatos de aquella.' +redirect_from: + - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory + - /code-security/security-advisories/removing-a-collaborator-from-a-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Remove collaborators +ms.openlocfilehash: 77c21bea9c593935ee1b92028fc52859320f5a38 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114125' +--- +Las personas con permisos administrativos en una asesoría de seguridad pueden eliminar a los colaboradores de la misma. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Eliminar un colaborador de una asesoría de seguridad + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. En el listado de "Asesorías de Seguridad", da clic sobre aquella en la que quieras eliminar a algún colaborador. + ![Aviso de seguridad en la lista](/assets/images/help/security/security-advisory-in-list.png) +5. En el lado derecho de la página, debajo de "Colaboradores", encuentra el nombre del usuario o equipo al que quieres eliminar de la asesoría de seguridad. + ![Colaborador de asesoría de seguridad](/assets/images/help/security/security-advisory-collaborator.png) +6. Junto al colaborador que quiera quitar, haga clic en el icono **X**. + ![Icono X para quitar al colaborador de la asesoría de seguridad](/assets/images/help/security/security-advisory-remove-collaborator-x.png) + +## Información adicional + +- "[Niveles de permiso para avisos de seguridad de repositorios](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Adición de un colaborador a un aviso de seguridad de repositorio](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)" diff --git a/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md new file mode 100644 index 0000000000..ef164232e4 --- /dev/null +++ b/translations/es-ES/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md @@ -0,0 +1,29 @@ +--- +title: Retirada de un aviso de seguridad de repositorio +intro: Puedes retirar una asesoría de seguridad de repositorio que hayas publicado. +redirect_from: + - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory + - /code-security/security-advisories/withdrawing-a-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Withdraw repository advisories +ms.openlocfilehash: 71a6560c463384b032546b824e5f4294ced568e5 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114083' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +Si publicas una asesoría de seguridad por error, puedes retirarla contactando a {% data variables.contact.contact_support %}. + +## Información adicional + +- "[Edición de un aviso de seguridad de repositorio](/code-security/repository-security-advisories/editing-a-repository-security-advisory)" diff --git a/translations/es-ES/content/codespaces/guides.md b/translations/es-ES/content/codespaces/guides.md index 9adf5f265b..ac0a0bc8e0 100644 --- a/translations/es-ES/content/codespaces/guides.md +++ b/translations/es-ES/content/codespaces/guides.md @@ -55,11 +55,11 @@ includeGuides: - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces - /codespaces/codespaces-reference/disaster-recovery-for-codespaces - /codespaces/codespaces-reference/security-in-codespaces -ms.openlocfilehash: 54ba7cc4fbacd536f0438626281d1b59252eb3f1 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 24bf08da053efd9f822b1eb43bacbbe822c1ba8b +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783115' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113901' --- diff --git a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/index.md b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/index.md index 1f73e1b379..e7b41b02f8 100644 --- a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/index.md +++ b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -19,11 +19,11 @@ children: - /setting-a-minimum-specification-for-codespace-machines - /automatically-opening-files-in-the-codespaces-for-a-repository - /adding-a-codespaces-badge -ms.openlocfilehash: 1e172243dc351f0a173c8624b66914e1c3795495 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 4649ef4e36dff0b37d4a579ecd56bbb0edd2a184 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783043' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114102' --- diff --git a/translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md b/translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md index b0a8576c06..2a773d991e 100644 --- a/translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md +++ b/translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md @@ -1,6 +1,6 @@ --- -title: About identity and access management with SAML single sign-on -intro: 'If you centrally manage your users'' identities and applications with an identity provider (IdP), you can configure Security Assertion Markup Language (SAML) single sign-on (SSO) to protect your organization''s resources on {% data variables.product.prodname_dotcom %}.' +title: Acerca de la administración de identidades y acceso con el inicio de sesión único de SAML +intro: 'Si administras centralmente las identidades y aplicaciones de tus usuarios con un provedor de identidad (IdP), puedes configurar el inicio de sesión único (SSO) del Lenguaje de Marcado para Confirmaciones de Seguridad (SAML) para proteger los recursos de tu organización en {% data variables.product.prodname_dotcom %}.' redirect_from: - /articles/about-identity-and-access-management-with-saml-single-sign-on - /github/setting-up-and-managing-organizations-and-teams/about-identity-and-access-management-with-saml-single-sign-on @@ -10,11 +10,16 @@ topics: - Organizations - Teams shortTitle: IAM with SAML SSO +ms.openlocfilehash: d58fbf3800f0e3814528b0d05e47b6d1352a6cd4 +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111581' --- - {% data reusables.saml.ghec-only %} -## About SAML SSO +## Acerca de SAML SSO {% data reusables.saml.dotcom-saml-explanation %} @@ -24,46 +29,46 @@ shortTitle: IAM with SAML SSO {% data reusables.saml.outside-collaborators-exemption %} -Organization owners can enforce SAML SSO for an individual organization, or enterprise owners can enforce SAML SSO for all organizations in an enterprise account. For more information, see "[Configuring SAML single sign-on for your enterprise](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." +Los propietarios de las organizaciones pueden requerir el SSO de SAML para una organización individual o para todas las organizaciones en una cuenta empresarial. Para más información, vea "[Configuración del inicio de sesión único de SAML para la empresa](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)". -Before enabling SAML SSO for your organization, you'll need to connect your IdP to your organization. For more information, see "[Connecting your identity provider to your organization](/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization)." +Antes de habilitar el SSO de SAML para tu organización, necesitarás conectar tu IdP a la misma. Para más información, vea "[Conexión del proveedor de identidades a la organización](/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization)". -For an organization, SAML SSO can be disabled, enabled but not enforced, or enabled and enforced. After you enable SAML SSO for your organization and your organization's members successfully authenticate with your IdP, you can enforce the SAML SSO configuration. For more information about enforcing SAML SSO for your {% data variables.product.prodname_dotcom %} organization, see "[Enforcing SAML single sign-on for your organization](/articles/enforcing-saml-single-sign-on-for-your-organization)." +En una organización, el SSO de SAML puede inhabilitarse, habilitarse pero no requerirse, o habilitarse y requerirse. Después de habilitar exitosamente el SSO de SAML para tu organización y que sus miembros se autentiquen exitosamente con tu IdP, puedes requerir la configuración del SSO de SAML. Para más información sobre cómo aplicar el inicio de sesión único de SAML para la organización de {% data variables.product.prodname_dotcom %}, vea "[Aplicación del inicio de sesión único de SAML para la organización](/articles/enforcing-saml-single-sign-on-for-your-organization)". -Members must periodically authenticate with your IdP to authenticate and gain access to your organization's resources. The duration of this login period is specified by your IdP and is generally 24 hours. This periodic login requirement limits the length of access and requires users to re-identify themselves to continue. +Los miembros deben autenticarse regularmente con tu IdP y obtener acceso a los recursos de tu organización. Tu IdP especifica la duración de este período de inicio de sesión y, generalmente, es de 24 horas. Este requisito de inicio de sesión periódico limita la duración del acceso y requiere que los usuarios se vuelvan a identificar para continuar. -To access the organization's protected resources using the API and Git on the command line, members must authorize and authenticate with a {% data variables.product.pat_generic %} or SSH key. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" and "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)." +Para acceder a los recursos protegidos de tu organización mediante la API y Git en la línea de comandos, los miembros deberán autorizar y autentificarse con un {% data variables.product.pat_generic %} o clave SSH. Para más información, consulta "[Autorización de {% data variables.product.pat_generic %} para su uso con el inicio de sesión único de SAML](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" y "[Autorización de una clave SSH para su uso con el inicio de sesión único de SAML](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)". -The first time a member uses SAML SSO to access your organization, {% data variables.product.prodname_dotcom %} automatically creates a record that links your organization, the member's account on {% data variables.location.product_location %}, and the member's account on your IdP. You can view and revoke the linked SAML identity, active sessions, and authorized credentials for members of your organization or enterprise account. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" and "[Viewing and managing a user's SAML access to your enterprise account](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)." +La primera vez que un miembro utiliza el SSO de SAML para acceder a su organización, {% data variables.product.prodname_dotcom %} crea un registro automáticamente, el cual vincula la organización, la cuenta del miembro en {% data variables.location.product_location %} y la cuenta del miembro en el IdP. Puedes ver y retirar la identidad de SAML que se ha vinculado, activar sesiones, y autorizar las credenciales para los miembros de tu organización o cuenta empresarial. Para más información, vea "[Visualización y administración del acceso SAML de un miembro a la organización](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" y "[Visualización y administración del acceso SAML de un usuario a la empresa](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)". -If members are signed in with a SAML SSO session when they create a new repository, the default visibility of that repository is private. Otherwise, the default visibility is public. For more information on repository visibility, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." +Si los miembros ingresan con una sesión de SSO de SAML cuando crean un nuevo repositorio, la visibilidad predeterminada de dicho repositorio será privada. De lo contrario, la visibilidad predeterminada es pública. Para más información sobre la visibilidad de los repositorios, vea "[Acerca de los repositorios](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)". -Organization members must also have an active SAML session to authorize an {% data variables.product.prodname_oauth_app %}. You can opt out of this requirement by contacting {% data variables.contact.contact_support %}. {% data variables.product.product_name %} does not recommend opting out of this requirement, which will expose your organization to a higher risk of account takeovers and potential data loss. +Los miembros de una organización también deben contar con una sesión activa de SAML para autorizar un {% data variables.product.prodname_oauth_app %}. Puedes decidir no llevar este requisito si contactas a {% data variables.contact.contact_support %}. {% data variables.product.product_name %} no recomienda que renuncies a este requisito, ya que expondrá a tu organización a un riesgo mayor de que se roben las cuentas y de que exista pérdida de datos. {% data reusables.saml.saml-single-logout-not-supported %} -## Supported SAML services +## Servicios SAML admitidos {% data reusables.saml.saml-supported-idps %} -Some IdPs support provisioning access to a {% data variables.product.prodname_dotcom %} organization via SCIM. For more information, see "[About SCIM for organizations](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." +Algunos IdP admiten acceso de suministro a una organización de {% data variables.product.prodname_dotcom %} a través de SCIM. Para obtener más información, consulta "[Acerca de SCIM para las organizaciones](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)". {% data reusables.scim.enterprise-account-scim %} -## Adding members to an organization using SAML SSO +## Agregar miembros a una organización usando SAML SSO -After you enable SAML SSO, there are multiple ways you can add new members to your organization. Organization owners can invite new members manually on {% data variables.product.product_name %} or using the API. For more information, see "[Inviting users to join your organization](/articles/inviting-users-to-join-your-organization)" and "[Members](/rest/reference/orgs#add-or-update-organization-membership)." +Después de habilitar el inicio de sesión único de SAML, hay varias maneras de agregar nuevos miembros a su organización. Los propietarios de la organización pueden invitar a los miembros de forma manual en {% data variables.product.product_name %} o usando la API. Para más información, vea "[Invitación a los usuarios a unirse a la organización](/articles/inviting-users-to-join-your-organization)" y "[Miembros](/rest/reference/orgs#add-or-update-organization-membership)". -To provision new users without an invitation from an organization owner, you can use the URL `https://github.com/orgs/ORGANIZATION/sso/sign_up`, replacing _ORGANIZATION_ with the name of your organization. For example, you can configure your IdP so that anyone with access to the IdP can click a link on the IdP's dashboard to join your {% data variables.product.prodname_dotcom %} organization. +Para aprovisionar nuevos usuarios sin una invitación de un propietario de la organización, puede usar la dirección URL `https://github.com/orgs/ORGANIZATION/sso/sign_up`, reemplazando _ORGANIZATION_ por el nombre de su organización. Por ejemplo, puede configurar el IdP para que cualquiera con acceso al IdP pueda hacer clic en el tablero del IdP para unirse a la organización de {% data variables.product.prodname_dotcom %}. -If your IdP supports SCIM, {% data variables.product.prodname_dotcom %} can automatically invite members to join your organization when you grant access on your IdP. If you remove a member's access to your {% data variables.product.prodname_dotcom %} organization on your SAML IdP, the member will be automatically removed from the {% data variables.product.prodname_dotcom %} organization. For more information, see "[About SCIM for organizations](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." +Si tu IdP admite SCIM, {% data variables.product.prodname_dotcom %} puede invitar automáticamente a los miembros para que se unan a tu organización cuando les otorgas acceso en tu IdP. Si eliminas el acceso de un miembro a tu organización de {% data variables.product.prodname_dotcom %} en tu IdP de SAML, éste se eliminará automáticamente de la organización de{% data variables.product.prodname_dotcom %}. Para obtener más información, consulta "[Acerca de SCIM para las organizaciones](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)". {% data reusables.organizations.team-synchronization %} {% data reusables.saml.saml-single-logout-not-supported %} -## Further reading +## Información adicional -- "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference)" -- "[About two-factor authentication and SAML single sign-on ](/articles/about-two-factor-authentication-and-saml-single-sign-on)" -- "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" +- "[Referencia de configuración de SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference)" +- "[Acerca de la autenticación en dos fases y el inicio de sesión único de SAML](/articles/about-two-factor-authentication-and-saml-single-sign-on)" +- "[Acerca de la autenticación con el inicio de sesión único de SAML](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" diff --git a/translations/es-ES/content/repositories/creating-and-managing-repositories/renaming-a-repository.md b/translations/es-ES/content/repositories/creating-and-managing-repositories/renaming-a-repository.md index 60e4f802c1..c8768577f3 100644 --- a/translations/es-ES/content/repositories/creating-and-managing-repositories/renaming-a-repository.md +++ b/translations/es-ES/content/repositories/creating-and-managing-repositories/renaming-a-repository.md @@ -12,12 +12,12 @@ versions: ghec: '*' topics: - Repositories -ms.openlocfilehash: e56e8ca634ca1bfec3c587fe8fb606ab73ac72d4 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: d0067d96dce2f2cf9fe8bb2dd519668780d861ff +ms.sourcegitcommit: bd8b3e152f17d90acf222a0d50ba9595184c1f5f ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: '145136872' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111677' --- Cuando cambias el nombre de un repositorio, toda la información existente, a excepción de las URL del sitio del proyecto, se redirige automáticamente al nuevo nombre, incluyendo: @@ -28,10 +28,10 @@ Cuando cambias el nombre de un repositorio, toda la información existente, a ex Para obtener más información acerca de los sitios del proyecto, consulte "[Acerca de {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)". -Además de redirigir el tráfico web, todas las operaciones de `git clone`, `git fetch` o `git push` dirigidas a la ubicación anterior seguirán funcionando como si se realizara en la nueva ubicación. Sin embargo, para evitar la confusión, recomendamos ampliamente actualizar cualquier clon local para que lleve a la URL del nuevo repositorio. Puede hacerlo con `git remote` en la línea de comandos. +Además de redirigir el tráfico web, todas las operaciones de `git clone`, `git fetch` o `git push` dirigidas a la ubicación anterior seguirán funcionando como si se realizara en la nueva ubicación. Sin embargo, para evitar la confusión, recomendamos ampliamente actualizar cualquier clon local para que lleve a la URL del nuevo repositorio. Puede hacerlo con `git remote` en la línea de comandos: ```shell -$ git remote set-url origin new_url +$ git remote set-url origin NEW_URL ``` Para obtener más información, consulte "[Administración de repositorios remotos](/github/getting-started-with-github/managing-remote-repositories)". @@ -50,7 +50,7 @@ Si planeas renombrar un repositorio que tenga un sitio {% data variables.product {% warning %} -**Advertencia**: Si en el futuro crea un nuevo repositorio en su cuenta, no reutilice el nombre original del repositorio cuyo nombre ha cambiado Si lo haces, los redireccionamientos al repositorio renombrado fallarán. +**Advertencia**: Si en el futuro crea un nuevo repositorio en su cuenta, no reutilice el nombre original del repositorio cuyo nombre ha cambiado Si lo hace, los redireccionamientos al repositorio renombrado fallarán. {% endwarning %} diff --git a/translations/es-ES/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/translations/es-ES/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md index e85cd8a9a5..7a6fcdc772 100644 --- a/translations/es-ES/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md +++ b/translations/es-ES/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -1,6 +1,6 @@ --- -title: Acerca de Large File Storage de Git -intro: '{% data variables.product.product_name %} limita el tamaño de los archivos permitidos en los repositorios. Para rastrear los archivos más allá de este límite, puedes utilizar {% data variables.large_files.product_name_long %}.' +title: About Git Large File Storage +intro: '{% data variables.product.product_name %} limits the size of files allowed in repositories. To track files beyond this limit, you can use {% data variables.large_files.product_name_long %}.' redirect_from: - /articles/about-large-file-storage - /articles/about-git-large-file-storage @@ -12,35 +12,33 @@ versions: ghae: '*' ghec: '*' shortTitle: Git Large File Storage -ms.openlocfilehash: af198fe13f69fc4768178aea74a03f27a82ec20b -ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d -ms.translationtype: HT -ms.contentlocale: es-ES -ms.lasthandoff: 09/10/2022 -ms.locfileid: '145136524' --- -## Acerca de {% data variables.large_files.product_name_long %} -{% data variables.large_files.product_name_short %} maneja archivos grandes almacenando referencias del archivo en el repositorio, pero no el archivo real. Para trabajar en la arquitectura de Git, {% data variables.large_files.product_name_short %} crea un archivo de puntero que actúa como una referencia del archivo real (que se almacena en otro lugar). {% data variables.product.product_name %} administra este archivo puntero en tu repositorio. Cuando clonas el repositorio, {% data variables.product.product_name %} usa el archivo puntero como un mapa para ir y buscar el archivo grande por ti. +## About {% data variables.large_files.product_name_long %} -{% ifversion fpt or ghec %} Con {% data variables.large_files.product_name_short %}, puede almacenar archivos hasta: +{% data variables.large_files.product_name_short %} handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, {% data variables.large_files.product_name_short %} creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). {% data variables.product.product_name %} manages this pointer file in your repository. When you clone the repository down, {% data variables.product.product_name %} uses the pointer file as a map to go and find the large file for you. -| Producto | Tamaño de archivo máximo | +{% ifversion fpt or ghec %} +Using {% data variables.large_files.product_name_short %}, you can store files up to: + +| Product | Maximum file size | |------- | ------- | | {% data variables.product.prodname_free_user %} | 2 GB | | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -Si utilizas {% data variables.large_files.product_name_short %}, puedes almacenar archivos de hasta 5 GB en tu repositorio. -{% endif %} +Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. +{% endif %} -Tambié puedes usar {% data variables.large_files.product_name_short %} con {% data variables.product.prodname_desktop %}. Para más información sobre cómo clonar repositorios LFS de Git en {% data variables.product.prodname_desktop %}, vea "[Clonación de un repositorio desde GitHub en GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)". +{% data reusables.repositories.git-lfs %} + +You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." {% data reusables.large_files.can-include-lfs-objects-archives %} -## Formato de archivo puntero +## Pointer file format -El archivo puntero de {% data variables.large_files.product_name_short %} se ve así: +{% data variables.large_files.product_name_short %}'s pointer file looks like this: ``` version {% data variables.large_files.version_name %} @@ -48,16 +46,16 @@ oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5 size 84977953 ``` -Realiza el seguimiento del `version` de {% data variables.large_files.product_name_short %} que use, seguido de un identificador único para el archivo (`oid`). También almacena el valor `size` del archivo final. +It tracks the `version` of {% data variables.large_files.product_name_short %} you're using, followed by a unique identifier for the file (`oid`). It also stores the `size` of the final file. {% note %} -**Notas**: -- {% data variables.large_files.product_name_short %} no puede utilizarse con los sitios de {% data variables.product.prodname_pages %}. -- {% data variables.large_files.product_name_short %} no se puede utilizar con repositorios de plantilla. +**Notes**: +- {% data variables.large_files.product_name_short %} cannot be used with {% data variables.product.prodname_pages %} sites. +- {% data variables.large_files.product_name_short %} cannot be used with template repositories. {% endnote %} -## Información adicional +## Further reading -- "[Colaboración con {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" +- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" diff --git a/translations/es-ES/content/rest/guides/traversing-with-pagination.md b/translations/es-ES/content/rest/guides/traversing-with-pagination.md index ed7f9b1189..f47cd8dbbf 100644 --- a/translations/es-ES/content/rest/guides/traversing-with-pagination.md +++ b/translations/es-ES/content/rest/guides/traversing-with-pagination.md @@ -12,6 +12,7 @@ versions: topics: - API shortTitle: Traverse with pagination +miniTocMaxHeadingLevel: 3 --- The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API provides a vast wealth of information for developers to consume. @@ -24,10 +25,13 @@ in the [platform-samples][platform samples] repository. {% data reusables.rest-api.dotcom-only-guide-note %} + + ## Basics of Pagination To start with, it's important to know a few facts about receiving paginated items: + 1. Different API calls respond with different defaults. For example, a call to [List public repositories](/rest/reference/repos#list-public-repositories) provides paginated items in sets of 30, whereas a call to the GitHub Search API @@ -37,55 +41,127 @@ provides items in sets of 100 [events](/rest/reference/activity#events) won't let you set a maximum for items to receive. Be sure to read the documentation on how to handle paginated results for specific endpoints. -Information about pagination is provided in [the Link header](https://datatracker.ietf.org/doc/html/rfc5988) -of an API call. For example, let's make a curl request to the search API, to find -out how many times Mozilla projects use the phrase `addClass`: +{% note %} + +**Note**: You should always rely on URLs included in the link header. Don't try to guess or construct your own URLs. + +{% endnote %} + + +### Link header + +The response header includes information about pagination. For more information about headers, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#about-the-response-code-and-headers)." To get the response header, include the `-I` flag in your request. For example: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/advacado-corp/audit-log -```shell -$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla" ``` -The `-I` parameter indicates that we only care about the headers, not the actual -content. In examining the result, you'll notice some information in the Link header -that looks like this: +The `-I` flag returns only the response header. If the response is paginated, the response header will include a `link` header. The header will look something like this: - Link: ; rel="next", - ; rel="last" +``` +link: ; rel="next" +``` -Let's break that down. `rel="next"` says that the next page is `page=2`. This makes -sense, since by default, all paginated queries start at page `1.` `rel="last"` -provides some more information, stating that the last page of results is on page `34`. -Thus, we have 33 more pages of information about `addClass` that we can consume. -Nice! +or -**Always** rely on these link relations provided to you. Don't try to guess or construct your own URL. +``` +link: ; rel="next", ; rel="last" +``` +### Types of pagination -### Navigating through the pages +{% data variables.product.company_short %}'s API uses two pagination methods: page-based pagination and cursor-based pagination. If the `link` header includes `page`, then the operation uses page-based pagination. If the `link` header includes `before` and `after`, then the operation uses cursor-based pagination. -Now that you know how many pages there are to receive, you can start navigating -through the pages to consume the results. You do this by passing in a `page` -parameter. By default, `page` always starts at `1`. Let's jump ahead to page 14 -and see what happens: + +#### Page based pagination + +The link header for page-based pagination will tell you information about the previous, next, first, and last pages. If you did not request a specific page, then the response will default to the first page and information about the first and previous pages will be omitted. + +For example, for a request that did not specify a page, this header states that the next page is `2` and the last page is `511`. + +``` +link: ; rel="next", ; rel="last" +``` + +For example, for a request that specified page 5, this header states that the previous page is `4`, the next page is `6`, the last page is `511`, and the first page is `1`. + +``` +link: ; rel="prev", ; rel="next", ; rel="last", ; rel="first" +``` + +#### Cursor based pagination + +Cursor pagination uses terms `before` and `after` in order to navigate through pages. `rel="next"` and `rel="prev"` this mark the cursor point in the data set and provides a reference for traveling to the page `before` and `after` the current page. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +In this example, `rel=next` says that the next page is located at: + +``` +after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + + + + +### Using pagination + +#### Cursor based pagination + +Using cursor based pagination requires you to use the terms `before` and `after`. To navigate using `before` and `after`, copy the link header generated above into your curl request: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + +The above example will generate a page of results and new header information that you can use to make the next request. `rel="next"` provides the next page of results. `rel="prev"` provides the previous page of results. The important part of the output here is the link header needs to be generated rather than manually imputed. Copy the entire link from the following output. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +Unlike page-based pagination, the results will not return the last page number in the response. + + link: ; rel="next", + ; rel="first", + ; rel="prev" + +Because cursor based pagination creates a reference point in the data set, it cannot calculate the total number of results. + + +#### Page based pagination + +To navigate using page based pagination pass in a `page` +parameter. By default, `page` always starts at `1`. In the following example, we have made a curl request to the search API Mozilla projects use the phrase `addClass`. Instead of starting at 1, lets jump to page 14. ```shell $ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&page=14" ``` -Here's the link header once more: +Here's an except of the link header in the HTTP request: Link: ; rel="next", ; rel="last", ; rel="first", ; rel="prev" -As expected, `rel="next"` is at 15, and `rel="last"` is still 34. But now we've +In this example, `rel="next"` is at 15, and `rel="last"` is 34. But now we've got some more information: `rel="first"` indicates the URL for the _first_ page, and more importantly, `rel="prev"` lets you know the page number of the previous page. Using this information, you could construct some UI that lets users jump between the first, previous, next, or last list of results in an API call. + ### Changing the number of items received +#### Page based pagination + By passing the `per_page` parameter, you can specify how many items you want each page to return, up to 100 items. Let's try asking for 50 items about `addClass`: @@ -102,6 +178,14 @@ As you might have guessed, the `rel="last"` information says that the last page is now 20. This is because we are asking for more information per page about our results. +#### Cursor based pagination + +You can also pass the `per_page` parameter for cursor-based pagination. + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=>&per_page=50 +``` + ## Consuming the information You don't want to be making low-level curl calls just to be able to work with diff --git a/translations/es-ES/data/reusables/actions/hardware-requirements-3.6.md b/translations/es-ES/data/reusables/actions/hardware-requirements-3.6.md deleted file mode 100644 index f55916ca87..0000000000 --- a/translations/es-ES/data/reusables/actions/hardware-requirements-3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -ms.openlocfilehash: 5c7cf10fca8efdcb186487e5de0e9a9d7e88d66b -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: es-ES -ms.lasthandoff: 09/05/2022 -ms.locfileid: "147580749" ---- -| vCPU | Memoria | Número máximo de ejecutores conectados | -| :---| :--- | :--- | -| 8 | 64 GB | 740 ejecutores | -| 32 | 160 GB | 2700 ejecutores | -| 96 | 384 GB | 7000 ejecutores | -| 128 | 512 GB | 7000 ejecutores | diff --git a/translations/es-ES/data/reusables/codespaces/edit-devcontainer-json.md b/translations/es-ES/data/reusables/codespaces/edit-devcontainer-json.md new file mode 100644 index 0000000000..f05caca292 --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/edit-devcontainer-json.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38208812f73fda89c12d251955a1eee327ceb8db +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114118" +--- +1. Los {% data variables.product.prodname_github_codespaces %} del repositorio se configuran en un archivo `devcontainer.json`. Si el repositorio aún no contiene un archivo `devcontainer.json`, agregue uno ahora. Consulta "[Adición de una configuración de contenedor de desarrollo al repositorio](/free-pro-team@latest/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md index db1256da20..9bda52c077 100644 --- a/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md +++ b/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -1,6 +1,6 @@ If your workflow is using a {% data variables.product.pat_generic %} to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-personal-access-token)."{% endif %} For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." diff --git a/translations/es-ES/data/reusables/saml/outside-collaborators-exemption.md b/translations/es-ES/data/reusables/saml/outside-collaborators-exemption.md index afd213939c..70535ac37c 100644 --- a/translations/es-ES/data/reusables/saml/outside-collaborators-exemption.md +++ b/translations/es-ES/data/reusables/saml/outside-collaborators-exemption.md @@ -1,16 +1,13 @@ --- -ms.openlocfilehash: 4d4e5a2d205dd4774e4d40394e07f339536e1dcb -ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.openlocfilehash: 2756814ec2c08dfce708645cec499588fbad330d +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 09/12/2022 -ms.locfileid: "147526825" +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111628" --- {% note %} -**Notas:** - -- La autenticación SAML no es necesaria para que los miembros de la organización realicen operaciones de lectura, como ver, clonar y bifurcar recursos públicos. -- La autenticación SAML no es necesaria para colaboradores externos. Para más información sobre los colaboradores externos, vea "[Roles en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators)". +**Nota**: La autenticación SAML no es necesaria para colaboradores externos. Para más información sobre los colaboradores externos, vea "[Roles en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators)". {% endnote %} diff --git a/translations/es-ES/data/reusables/saml/resources-without-sso.md b/translations/es-ES/data/reusables/saml/resources-without-sso.md new file mode 100644 index 0000000000..ba6ef0dd6b --- /dev/null +++ b/translations/es-ES/data/reusables/saml/resources-without-sso.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 6801c86b93cfe8a48f1380bcb65e3fc8802e0eae +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111622" +--- +La autenticación de IdP no es necesaria para acceder a repositorios públicos de determinadas maneras: + +- Visualización de la página de información general del repositorio y el contenido del archivo en {% data variables.product.prodname_dotcom %} +- Bifurcación del repositorio +- Realización de operaciones de lectura a través de Git, como clonación del repositorio + +La autenticación es necesaria para otro acceso a repositorios públicos, como ver problemas, solicitudes de incorporación de cambios, proyectos y versiones. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/saml/saml-accounts.md b/translations/es-ES/data/reusables/saml/saml-accounts.md index 5020080603..35fe7d8fc3 100644 --- a/translations/es-ES/data/reusables/saml/saml-accounts.md +++ b/translations/es-ES/data/reusables/saml/saml-accounts.md @@ -1,12 +1,12 @@ --- -ms.openlocfilehash: b5ea320db35c6a770853644bcdb50117d3da578d -ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.openlocfilehash: 7f8e979109d851c152b9cb2b90569ea12155b2dd +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 ms.translationtype: HT ms.contentlocale: es-ES -ms.lasthandoff: 10/25/2022 -ms.locfileid: "148109810" +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111525" --- -Si configura el SSO de SAML, los miembros de su organización continuarán iniciando sesión en sus cuentas personales en {% data variables.product.prodname_dotcom_the_website %}. Cuando un miembro acceda a los recursos que no sean públicos dentro de su organización, {% data variables.product.prodname_dotcom %} lo redireccionará a tu IdP para autenticarse. Después de autenticarse correctamente, su IdP redirecciona a este miembro a {% data variables.product.prodname_dotcom %}. Para más información, vea "[Acerca de la autenticación con el inicio de sesión único de SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on)". +Si configura el SSO de SAML, los miembros de su organización continuarán iniciando sesión en sus cuentas personales en {% data variables.product.prodname_dotcom_the_website %}. Cuando un miembro acceda a la mayoría de los recursos de su organización, {% data variables.product.prodname_dotcom %} lo redireccionará a su IdP para autenticarse. Después de autenticarse correctamente, su IdP redirecciona a este miembro a {% data variables.product.prodname_dotcom %}. Para más información, vea "[Acerca de la autenticación con el inicio de sesión único de SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on)". {% note %} diff --git a/translations/es-ES/data/reusables/security-advisory/global-advisories.md b/translations/es-ES/data/reusables/security-advisory/global-advisories.md new file mode 100644 index 0000000000..d3a599347a --- /dev/null +++ b/translations/es-ES/data/reusables/security-advisory/global-advisories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb874d7a6fcaa0deeb828d91f9769df69050d337 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: es-ES +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114070" +--- +Los avisos de seguridad de {% data variables.product.prodname_advisory_database %} en [github.com/advisories](https://github.com/advisories) se consideran avisos globales. Cualquiera puede sugerir mejoras en cualquier aviso de seguridad global de {% data variables.product.prodname_advisory_database %}. Puede editar o agregar cualquier detalle, incluidos los ecosistemas adicionales afectados, el nivel de gravedad o la descripción de quién se ha visto afectado. El equipo de protección de {% data variables.product.prodname_security %} revisará las mejoras enviadas y las publicará en {% data variables.product.prodname_advisory_database %} si se aceptan. \ No newline at end of file diff --git a/translations/ja-JP/content/actions/security-guides/security-hardening-for-github-actions.md b/translations/ja-JP/content/actions/security-guides/security-hardening-for-github-actions.md index 5a18705739..fed4af9a0b 100644 --- a/translations/ja-JP/content/actions/security-guides/security-hardening-for-github-actions.md +++ b/translations/ja-JP/content/actions/security-guides/security-hardening-for-github-actions.md @@ -215,6 +215,12 @@ For more information on how to configure this setting, see {% ifversion allow-ac These sections consider some of the steps an attacker can take if they're able to run malicious commands on a {% data variables.product.prodname_actions %} runner. +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %}-hosted runners do not scan for malicious code downloaded by a user during their job, such as a compromised third party library. + +{% endnote %} + ### Accessing secrets Workflows triggered using the `pull_request` event have read-only permissions and have no access to secrets. However, these permissions differ for various event triggers such as `issue_comment`, `issues` and `push`, where the attacker could attempt to steal repository secrets or use the write permission of the job's [`GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token). diff --git a/translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md index 5b79fefc07..fd0656617f 100644 --- a/translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md +++ b/translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md @@ -77,9 +77,15 @@ Maximum concurrency was measured using multiple repositories, job duration of ap {%- endif %} -{%- ifversion ghes = 3.6 %} +{%- ifversion ghes > 3.5 %} -{% data reusables.actions.hardware-requirements-3.6 %} + +| vCPUs | Memory | Maximum Connected Runners | +| :---| :--- | :--- | +| 8 | 64 GB | 740 runners | +| 32 | 160 GB | 2700 runners | +| 96 | 384 GB | 7000 runners | +| 128 | 512 GB | 7000 runners | {% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. diff --git a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 547784b6ad..294dc0dd7d 100644 --- a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -16,9 +16,9 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." -You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." +You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." {% ifversion fpt or ghec %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e95ef98441..2b6e79d378 100644 --- a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -23,7 +23,7 @@ shortTitle: Generate new SSH key When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. -If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -44,7 +44,7 @@ If you are a site administrator for {% data variables.location.product_location {%- ifversion ghae %} ```shell - $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` @@ -160,7 +160,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endnote %} -4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endmac %} @@ -178,7 +178,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endwindows %} @@ -189,7 +189,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endlinux %} @@ -246,4 +246,4 @@ If you are using macOS or Linux, you may need to update your SSH client or insta > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] ``` -7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 0ddfcd5c89..1b1c1fbd9f 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -121,6 +121,6 @@ You can use an existing SSH key to sign commits and tags, or generate a new one {% data reusables.gpg.x-509-key %} ## Further reading -- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +- "[Adding a new SSH key to your GitHub account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." - "[Signing commits](/articles/signing-commits)" - "[Signing tags](/articles/signing-tags)" diff --git a/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/index.md b/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/index.md index 4f4b684e45..f2a0daf3c9 100644 --- a/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/index.md +++ b/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/index.md @@ -19,11 +19,11 @@ children: - /configuring-dependabot-alerts - /viewing-and-updating-dependabot-alerts - /configuring-notifications-for-dependabot-alerts -ms.openlocfilehash: 04365ffa391c8da15c34f1e0651d9efa4ebb1a42 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: b9abda5288d4f0dfed2175b0e944c0d1bc48f3f7 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2022 -ms.locfileid: '146455494' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114099' --- diff --git a/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md new file mode 100644 index 0000000000..0ebab7e66c --- /dev/null +++ b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md @@ -0,0 +1,51 @@ +--- +title: リポジトリ セキュリティ アドバイザリへのコラボレータの追加 +intro: あなたと協力するセキュリティアドバイザリとして、ユーザや Team を追加できます。 +redirect_from: + - /articles/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory + - /code-security/security-advisories/adding-a-collaborator-to-a-security-advisory + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Add collaborators +ms.openlocfilehash: d080fa5d7b66d9ce89b7985f689133e52ec69cc3 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114139' +--- +セキュリティアドバイザリの管理者権限を持つユーザは、セキュリティアドバイザリにコラボレータを追加できます。 + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## セキュリティアドバイザリにコラボレータを追加する + +コラボレータは、セキュリティアドバイザリへの書き込み権限を持ちます。 詳細については、「[リポジトリ セキュリティ アドバイザリの権限レベル](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)」を参照してください。 + +{% note %} + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} セキュリティ アドバイザリのコラボレーターの削除に関する詳細については、「[リポジトリ セキュリティ アドバイザリからのコラボレータの削除](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)」を参照してください。 + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、コラボレータとして追加するセキュリティアドバイザリをクリックします。 +5. ページの右側にある、[Collaborators] の下で、セキュリティアドバイザリとして追加するユーザまたは Team の名前を入力します。 + ![ユーザ名または Team 名を入力するフィールド](/assets/images/help/security/add-collaborator-field.png) +6. **[追加]** をクリックします。 + ![[追加] ボタン](/assets/images/help/security/security-advisory-add-collaborator-button.png) + +## 参考資料 + +- 「[リポジトリ セキュリティ アドバイザリの権限レベル](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)」 +- 「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」 +- 「[リポジトリ セキュリティ アドバイザリからのコラボレータの削除](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)」。 diff --git a/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md new file mode 100644 index 0000000000..5a182af936 --- /dev/null +++ b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md @@ -0,0 +1,91 @@ +--- +title: 一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする +intro: リポジトリにおけるセキュリティ脆弱性の修正について非公開でコラボレートするため、一時的なプライベートフォークを作成できます。 +redirect_from: + - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration + - Forks +shortTitle: Temporary private forks +ms.openlocfilehash: c5d4f5f8b58498f995a473b4c0c0f3c38ea96083 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114131' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +## 前提条件 + +一時的なプライベートフォークでコラボレートする前に、ドラフトのセキュリティアドバイザリを作成する必要があります。 詳細については、「[リポジトリ セキュリティ アドバイザリの作成](/code-security/repository-security-advisories/creating-a-repository-security-advisory)」を参照してください。 + +## 一時的なプライベートフォークを作成する + +セキュリティアドバイザリに対する管理者権限があるユーザなら誰でも、一時的なプライベートフォークを作成できます。 + +脆弱性についての情報を保護するため、CI を含むインテグレーションは、一時的なプライベートフォークにアクセスできません。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、一時的なプライベートフォークを作成するセキュリティアドバイザリをクリックします。 + ![リスト内のセキュリティ アドバイザリ](/assets/images/help/security/security-advisory-in-list.png) +5. **[新しい一時的なプライベートフォーク]** をクリックします。 + ![[新しい一時的なプライベートフォーク] ボタン](/assets/images/help/security/new-temporary-private-fork-button.png) + +## 一時的なプライベートフォークにコラボレータを追加する + +セキュリティアドバイザリの管理者権限を持つユーザは、セキュリティアドバイザリにコラボレータを追加でき、セキュリティアドバイザリのコラボレータは一時的なプライベートフォークにアクセスできます。 詳細については、「[リポジトリ セキュリティ アドバイザリへのコラボレータの追加](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)」を参照してください。 + +## 一時的なプライベートフォークに変更を追加する + +セキュリティアドバイザリに対する管理者権限があるユーザなら誰でも、一時的なプライベートフォークに変更を追加できます。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、変更を追加するセキュリティアドバイザリをクリックします。 + ![リスト内のセキュリティ アドバイザリ](/assets/images/help/security/security-advisory-in-list.png) +5. {% data variables.product.product_name %} またはローカルに変更を追加します: + - {% data variables.product.product_name %} に変更を追加するには、[このアドバイザリに変更を追加する] で、 **[一時的なプライベート フォーク]** をクリックします。 そして、新しいブランチを作成し、ファイルを編集します。 詳細については、「[リポジトリ内でブランチを作成および削除する](/articles/creating-and-deleting-branches-within-your-repository)」および「[ファイルの編集](/repositories/working-with-files/managing-files/editing-files)」を参照してください。 + - ローカルで変更を追加するには、「クローンを作成して新しいブランチを作成する」および「変更を加えてからプッシュする」の手順に従ってください。 + ![[このアドバイザリに変更を追加する] ボックス](/assets/images/help/security/add-changes-to-this-advisory-box.png) + +## 一時的なプライベートフォークからプルリクエストを作成する + +セキュリティアドバイザリに対する書き込み権限があるユーザなら誰でも、一時的なプライベートフォークからプルリクエストを作成できます。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、セキュリティアドバイザリを作成するプルリクエストをクリックします。 + ![リスト内のセキュリティ アドバイザリ](/assets/images/help/security/security-advisory-in-list.png) +5. ブランチ名の右側にある **[比較と pull request]** をクリックします。 + ![[比較と pull request] ボタン](/assets/images/help/security/security-advisory-compare-and-pr.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.merge-all-pulls-together %} 詳細については、「[変更をセキュリティ アドバイザリにマージする](#merging-changes-in-a-security-advisory)」を参照してください。 + +## 変更をセキュリティアドバイザリにマージする + +セキュリティアドバイザリに対する管理者権限があるユーザなら誰でも、セキュリティアドバイザリに変更をマージできます。 + +{% data reusables.repositories.merge-all-pulls-together %} + +セキュリティアドバイザリの変更をマージするには、一時的なプライベートフォークにあるすべてのオープンされたプルリクエストがマージできる必要があります。 マージコンフリクトは許容されません。また、ブランチ保護の要件を満たす必要があります。 脆弱性についての情報を保護するため、一時的なプライベートフォークにあるプルリクエストに対しては、ステータスチェックは実行されません。 詳細については、「[保護されたブランチについて](/articles/about-protected-branches)」を参照してください。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、変更をマージするセキュリティアドバイザリをクリックします。 + ![リスト内のセキュリティ アドバイザリ](/assets/images/help/security/security-advisory-in-list.png) +5. 一時的なプライベート フォーク内にあるすべてのオープンされた pull request をマージするには、 **[pull requests をマージする]** をクリックします。 + ![[pull request のマージ] ボタン](/assets/images/help/security/merge-pull-requests-button.png) + +セキュリティアドバイザリの変更をマージした後は、プロジェクトの以前のバージョンにある脆弱性についてコミュニティにアラートするため、セキュリティアドバイザリを公開できます。 詳細については、「[リポジトリ セキュリティ アドバイザリの公開](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)」を参照してください。 + +## 参考資料 + +- 「[リポジトリ セキュリティ アドバイザリの権限レベル](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)」 +- 「[リポジトリ セキュリティ アドバイザリの公開](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)」 diff --git a/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md new file mode 100644 index 0000000000..28b1d70215 --- /dev/null +++ b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md @@ -0,0 +1,51 @@ +--- +title: リポジトリ セキュリティ アドバイザリの権限レベル +intro: リポジトリ セキュリティ アドバイザリで実行できるアクションは、セキュリティ アドバイザリに対する管理者や書き込みの権限を持っているかどうかによって変わります。 +redirect_from: + - /articles/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories + - /code-security/security-advisories/permission-levels-for-security-advisories + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Security advisories + - Vulnerabilities + - Permissions +shortTitle: Permission levels +ms.openlocfilehash: f4195822de121780f1629fda3d646170d4c4e566 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114136' +--- +この記事は、リポジトリ レベルのセキュリティ アドバイザリのみを対象としています。 あらゆるユーザーは、[github.com/advisories](https://github.com/advisories) で、{% data variables.product.prodname_advisory_database %} のグローバル セキュリティ アドバイザリに貢献できます。 グローバル アドバイザリを編集しても、リポジトリでのアドバイザリの表示方法が変更されたり、影響を受けたりすることはありません。 詳細については、「[{% data variables.product.prodname_advisory_database %} のセキュリティ アドバイザリの編集](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)」を参照してください。 + +## アクセス許可の概要 + +{% data reusables.repositories.security-advisory-admin-permissions %} セキュリティ アドバイザリへのコラボレーターの追加に関する詳細については、「[リポジトリ セキュリティ アドバイザリへのコラボレータの追加](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)」を参照してください。 + +アクション | Write 権限 | 管理者のアクセス許可 | +------ | ----------------- | ----------------- | +セキュリティアドバイザリのドラフトを表示する | X | X | +コラボレーターをセキュリティ アドバイザリに追加する (「[リポジトリ セキュリティ アドバイザリへのコラボレータの追加](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)」を参照してください) | | X | +セキュリティアドバイザリでコメントを編集および削除する | X | X | +セキュリティ アドバイザリに一時的なプライベート フォークを作成する (「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」を参照してください) | | X | +セキュリティ アドバイザリの一時的なプライベート フォークに変更を追加する (「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」を参照してください) | X | X | +一時的なプライベート フォークに pull request を作成する (「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」を参照してください) | X | X | +セキュリティ アドバイザリに変更をマージする (「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」を参照してください) | | X | +メタデータをセキュリティ アドバイザリに追加して編集する (「[リポジトリ セキュリティ アドバイザリの公開](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)」を参照してください) | X | X | +セキュリティ アドバイザリのクレジットを追加および削除する (「[リポジトリ セキュリティ アドバイザリの編集](/code-security/repository-security-advisories/editing-a-repository-security-advisory)」を参照してください) | X | X | +セキュリティアドバイザリのドラフトをクローズする | | X | +セキュリティ アドバイザリを公開する (「[リポジトリ セキュリティ アドバイザリの公開](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)」を参照してください) | | X | + +## 参考資料 + +- 「[リポジトリ セキュリティ アドバイザリへのコラボレータの追加](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)」 +- 「[一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)」 +- 「[リポジトリ セキュリティ アドバイザリからのコラボレータの削除](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)」 +- 「[リポジトリ セキュリティ アドバイザリの撤回](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory)」 diff --git a/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md new file mode 100644 index 0000000000..1736cb5f6d --- /dev/null +++ b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md @@ -0,0 +1,43 @@ +--- +title: リポジトリ セキュリティ アドバイザリからのコラボレータの削除 +intro: リポジトリ セキュリティ アドバイザリからコラボレーターを削除すると、そのコラボレーターはセキュリティ アドバイザリのディスカッションとメタデータへの読み取りおよび書き込みアクセス権を失います。 +redirect_from: + - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory + - /code-security/security-advisories/removing-a-collaborator-from-a-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Remove collaborators +ms.openlocfilehash: 77c21bea9c593935ee1b92028fc52859320f5a38 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114123' +--- +セキュリティアドバイザリの管理者権限を持つユーザは、セキュリティアドバイザリからコラボレータを削除できます。 + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## セキュリティアドバイザリからコラボレータを削除する + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. [Security Advisories] のリストから、コラボレータを削除するセキュリティアドバイザリをクリックします。 + ![リスト内のセキュリティ アドバイザリ](/assets/images/help/security/security-advisory-in-list.png) +5. ページの右側にある、[Collaborators] の下で、セキュリティアドバイザリから削除するユーザまたは Team の名前を探します。 + ![セキュリティ アドバイザリのコラボレータ](/assets/images/help/security/security-advisory-collaborator.png) +6. 削除するコラボレーターの横にある **[X]** アイコンをクリックします。 + ![セキュリティ アドバイザリからコラボレータを削除する [X] アイコン](/assets/images/help/security/security-advisory-remove-collaborator-x.png) + +## 参考資料 + +- 「[リポジトリ セキュリティ アドバイザリの権限レベル](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)」 +- 「[リポジトリ セキュリティ アドバイザリへのコラボレータの追加](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)」 diff --git a/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md new file mode 100644 index 0000000000..05d8e1da48 --- /dev/null +++ b/translations/ja-JP/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md @@ -0,0 +1,29 @@ +--- +title: リポジトリ セキュリティ アドバイザリの撤回 +intro: 公開したリポジトリ セキュリティ アドバイザリを撤回できます。 +redirect_from: + - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory + - /code-security/security-advisories/withdrawing-a-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Withdraw repository advisories +ms.openlocfilehash: 71a6560c463384b032546b824e5f4294ced568e5 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114015' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +誤ってセキュリティアドバイザリを公開した場合は、{% data variables.contact.contact_support %} に連絡するとセキュリティアドバイザリを撤回できます。 + +## 参考資料 + +- 「[リポジトリ セキュリティ アドバイザリの編集](/code-security/repository-security-advisories/editing-a-repository-security-advisory)」 diff --git a/translations/ja-JP/content/codespaces/guides.md b/translations/ja-JP/content/codespaces/guides.md index 70587a4b81..560f403a61 100644 --- a/translations/ja-JP/content/codespaces/guides.md +++ b/translations/ja-JP/content/codespaces/guides.md @@ -55,11 +55,11 @@ includeGuides: - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces - /codespaces/codespaces-reference/disaster-recovery-for-codespaces - /codespaces/codespaces-reference/security-in-codespaces -ms.openlocfilehash: 54ba7cc4fbacd536f0438626281d1b59252eb3f1 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 24bf08da053efd9f822b1eb43bacbbe822c1ba8b +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783112' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113898' --- diff --git a/translations/ja-JP/content/codespaces/setting-up-your-project-for-codespaces/index.md b/translations/ja-JP/content/codespaces/setting-up-your-project-for-codespaces/index.md index 2219a57e3b..614a43786a 100644 --- a/translations/ja-JP/content/codespaces/setting-up-your-project-for-codespaces/index.md +++ b/translations/ja-JP/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -19,11 +19,11 @@ children: - /setting-a-minimum-specification-for-codespace-machines - /automatically-opening-files-in-the-codespaces-for-a-repository - /adding-a-codespaces-badge -ms.openlocfilehash: 1e172243dc351f0a173c8624b66914e1c3795495 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 4649ef4e36dff0b37d4a579ecd56bbb0edd2a184 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783040' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114104' --- diff --git a/translations/ja-JP/content/repositories/creating-and-managing-repositories/renaming-a-repository.md b/translations/ja-JP/content/repositories/creating-and-managing-repositories/renaming-a-repository.md index 66d943e422..31665db03e 100644 --- a/translations/ja-JP/content/repositories/creating-and-managing-repositories/renaming-a-repository.md +++ b/translations/ja-JP/content/repositories/creating-and-managing-repositories/renaming-a-repository.md @@ -12,12 +12,12 @@ versions: ghec: '*' topics: - Repositories -ms.openlocfilehash: e56e8ca634ca1bfec3c587fe8fb606ab73ac72d4 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: d0067d96dce2f2cf9fe8bb2dd519668780d861ff +ms.sourcegitcommit: bd8b3e152f17d90acf222a0d50ba9595184c1f5f ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2022 -ms.locfileid: '145132294' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111674' --- リポジトリの名前を変更すると、プロジェクトサイトの URL を除くすべての既存の情報は、下記を含む新しい名前に自動的にリダイレクトされます。 @@ -28,10 +28,10 @@ ms.locfileid: '145132294' プロジェクト サイトの詳細については、「[{% data variables.product.prodname_pages %} について](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)」を参照してください。 -Web トラフィックのリダイレクトに加えて、以前の場所を対象とするすべての `git clone`、`git fetch`、`git push` 操作は、新しい場所で行われたかのように機能し続けます。 ただし、混乱を低減するため、既存のローカルクローンが新しいリポジトリ URL を指すよう更新することを強く推奨します。 これはコマンドラインで `git remote` を使うことで行えます。 +Web トラフィックのリダイレクトに加えて、以前の場所を対象とするすべての `git clone`、`git fetch`、`git push` 操作は、新しい場所で行われたかのように機能し続けます。 ただし、混乱を低減するため、既存のローカルクローンが新しいリポジトリ URL を指すよう更新することを強く推奨します。 これはコマンド ラインで `git remote` を使うことで行えます。 ```shell -$ git remote set-url origin new_url +$ git remote set-url origin NEW_URL ``` 詳細については、「[リモート リポジトリを管理する](/github/getting-started-with-github/managing-remote-repositories)」を参照してください。 @@ -50,7 +50,7 @@ $ git remote set-url origin new_url {% warning %} -**警告**: 将来的にアカウントで新しいリポジトリを作成する場合、名前変更したリポジトリの元の名前を再利用しないでください。 再利用した場合、名前変更したリポジトリへのリダイレクトが切断されます。 +**警告**: 将来的にアカウントで新しいリポジトリを作成する場合、名前変更したリポジトリの元の名前を再利用しないでください。 再利用した場合、名前変更したリポジトリへのリダイレクトは機能しなくなります。 {% endwarning %} diff --git a/translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md index 1ee323f4f4..7a6fcdc772 100644 --- a/translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md +++ b/translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -1,6 +1,6 @@ --- -title: Git Large File Storageについて -intro: '{% data variables.product.product_name %} には、リポジトリで許可されるファイルのサイズに制限があります。 この制限を超えるファイルを追跡するには、{% data variables.large_files.product_name_long %} を使います。' +title: About Git Large File Storage +intro: '{% data variables.product.product_name %} limits the size of files allowed in repositories. To track files beyond this limit, you can use {% data variables.large_files.product_name_long %}.' redirect_from: - /articles/about-large-file-storage - /articles/about-git-large-file-storage @@ -12,35 +12,33 @@ versions: ghae: '*' ghec: '*' shortTitle: Git Large File Storage -ms.openlocfilehash: af198fe13f69fc4768178aea74a03f27a82ec20b -ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a -ms.translationtype: HT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/11/2022 -ms.locfileid: '145131946' --- -## {% data variables.large_files.product_name_long %}について -{% data variables.large_files.product_name_short %}は、リポジトリに実際のファイルではなく、ファイルへの参照を保存することで大きなファイルを扱います。 Git のアーキテクチャを回避するため、{% data variables.large_files.product_name_short %} では実際のファイル (どこか別の場所に格納されています) への参照として働くポインター ファイルが作成されます。 {% data variables.product.product_name %}はこのポインタファイルをリポジトリ中で管理します。 リポジトリをクローンすると、{% data variables.product.product_name %}はこのポインタファイルを大きなファイルを見つけるための地図として使います。 +## About {% data variables.large_files.product_name_long %} -{% ifversion fpt or ghec %}{% data variables.large_files.product_name_short %} を使うと、最大で次のファイルまで格納できます。 +{% data variables.large_files.product_name_short %} handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, {% data variables.large_files.product_name_short %} creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). {% data variables.product.product_name %} manages this pointer file in your repository. When you clone the repository down, {% data variables.product.product_name %} uses the pointer file as a map to go and find the large file for you. -| 製品 | ファイルの最大サイズ | +{% ifversion fpt or ghec %} +Using {% data variables.large_files.product_name_short %}, you can store files up to: + +| Product | Maximum file size | |------- | ------- | | {% data variables.product.prodname_free_user %} | 2 GB | | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -{% data variables.large_files.product_name_short %} を使うと、最大 5 GB までのファイルをリポジトリに格納できます。 -{% endif %} +Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. +{% endif %} -{% data variables.large_files.product_name_short %}を{% data variables.product.prodname_desktop %}と共に使うこともできます。 {% data variables.product.prodname_desktop %} での Git FLS リポジトリのクローンについて詳しくは、「[GitHub からの GitHub Desktop へのリポジトリのクローン方法](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)」をご覧ください。 +{% data reusables.repositories.git-lfs %} + +You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." {% data reusables.large_files.can-include-lfs-objects-archives %} -## ポインタファイルのフォーマット +## Pointer file format -{% data variables.large_files.product_name_short %}のポインタファイルは以下のようになっています。 +{% data variables.large_files.product_name_short %}'s pointer file looks like this: ``` version {% data variables.large_files.version_name %} @@ -48,16 +46,16 @@ oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5 size 84977953 ``` -使われている {% data variables.large_files.product_name_short %} の `version` の後にファイルの一意識別子 (`oid`) が付いたものが追跡されます。 また、最終的なファイルの `size` も格納されます。 +It tracks the `version` of {% data variables.large_files.product_name_short %} you're using, followed by a unique identifier for the file (`oid`). It also stores the `size` of the final file. {% note %} -**注**: -- {% data variables.large_files.product_name_short %} は {% data variables.product.prodname_pages %} サイトでは使用できません。 -- {% data variables.large_files.product_name_short %} はテンプレートリポジトリでは使用できません。 +**Notes**: +- {% data variables.large_files.product_name_short %} cannot be used with {% data variables.product.prodname_pages %} sites. +- {% data variables.large_files.product_name_short %} cannot be used with template repositories. {% endnote %} -## 参考資料 +## Further reading -- [{% data variables.large_files.product_name_long %} でのコラボレーション](/articles/collaboration-with-git-large-file-storage) +- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" diff --git a/translations/ja-JP/content/rest/guides/traversing-with-pagination.md b/translations/ja-JP/content/rest/guides/traversing-with-pagination.md index ed7f9b1189..f47cd8dbbf 100644 --- a/translations/ja-JP/content/rest/guides/traversing-with-pagination.md +++ b/translations/ja-JP/content/rest/guides/traversing-with-pagination.md @@ -12,6 +12,7 @@ versions: topics: - API shortTitle: Traverse with pagination +miniTocMaxHeadingLevel: 3 --- The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API provides a vast wealth of information for developers to consume. @@ -24,10 +25,13 @@ in the [platform-samples][platform samples] repository. {% data reusables.rest-api.dotcom-only-guide-note %} + + ## Basics of Pagination To start with, it's important to know a few facts about receiving paginated items: + 1. Different API calls respond with different defaults. For example, a call to [List public repositories](/rest/reference/repos#list-public-repositories) provides paginated items in sets of 30, whereas a call to the GitHub Search API @@ -37,55 +41,127 @@ provides items in sets of 100 [events](/rest/reference/activity#events) won't let you set a maximum for items to receive. Be sure to read the documentation on how to handle paginated results for specific endpoints. -Information about pagination is provided in [the Link header](https://datatracker.ietf.org/doc/html/rfc5988) -of an API call. For example, let's make a curl request to the search API, to find -out how many times Mozilla projects use the phrase `addClass`: +{% note %} + +**Note**: You should always rely on URLs included in the link header. Don't try to guess or construct your own URLs. + +{% endnote %} + + +### Link header + +The response header includes information about pagination. For more information about headers, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#about-the-response-code-and-headers)." To get the response header, include the `-I` flag in your request. For example: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/advacado-corp/audit-log -```shell -$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla" ``` -The `-I` parameter indicates that we only care about the headers, not the actual -content. In examining the result, you'll notice some information in the Link header -that looks like this: +The `-I` flag returns only the response header. If the response is paginated, the response header will include a `link` header. The header will look something like this: - Link: ; rel="next", - ; rel="last" +``` +link: ; rel="next" +``` -Let's break that down. `rel="next"` says that the next page is `page=2`. This makes -sense, since by default, all paginated queries start at page `1.` `rel="last"` -provides some more information, stating that the last page of results is on page `34`. -Thus, we have 33 more pages of information about `addClass` that we can consume. -Nice! +or -**Always** rely on these link relations provided to you. Don't try to guess or construct your own URL. +``` +link: ; rel="next", ; rel="last" +``` +### Types of pagination -### Navigating through the pages +{% data variables.product.company_short %}'s API uses two pagination methods: page-based pagination and cursor-based pagination. If the `link` header includes `page`, then the operation uses page-based pagination. If the `link` header includes `before` and `after`, then the operation uses cursor-based pagination. -Now that you know how many pages there are to receive, you can start navigating -through the pages to consume the results. You do this by passing in a `page` -parameter. By default, `page` always starts at `1`. Let's jump ahead to page 14 -and see what happens: + +#### Page based pagination + +The link header for page-based pagination will tell you information about the previous, next, first, and last pages. If you did not request a specific page, then the response will default to the first page and information about the first and previous pages will be omitted. + +For example, for a request that did not specify a page, this header states that the next page is `2` and the last page is `511`. + +``` +link: ; rel="next", ; rel="last" +``` + +For example, for a request that specified page 5, this header states that the previous page is `4`, the next page is `6`, the last page is `511`, and the first page is `1`. + +``` +link: ; rel="prev", ; rel="next", ; rel="last", ; rel="first" +``` + +#### Cursor based pagination + +Cursor pagination uses terms `before` and `after` in order to navigate through pages. `rel="next"` and `rel="prev"` this mark the cursor point in the data set and provides a reference for traveling to the page `before` and `after` the current page. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +In this example, `rel=next` says that the next page is located at: + +``` +after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + + + + +### Using pagination + +#### Cursor based pagination + +Using cursor based pagination requires you to use the terms `before` and `after`. To navigate using `before` and `after`, copy the link header generated above into your curl request: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + +The above example will generate a page of results and new header information that you can use to make the next request. `rel="next"` provides the next page of results. `rel="prev"` provides the previous page of results. The important part of the output here is the link header needs to be generated rather than manually imputed. Copy the entire link from the following output. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +Unlike page-based pagination, the results will not return the last page number in the response. + + link: ; rel="next", + ; rel="first", + ; rel="prev" + +Because cursor based pagination creates a reference point in the data set, it cannot calculate the total number of results. + + +#### Page based pagination + +To navigate using page based pagination pass in a `page` +parameter. By default, `page` always starts at `1`. In the following example, we have made a curl request to the search API Mozilla projects use the phrase `addClass`. Instead of starting at 1, lets jump to page 14. ```shell $ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&page=14" ``` -Here's the link header once more: +Here's an except of the link header in the HTTP request: Link: ; rel="next", ; rel="last", ; rel="first", ; rel="prev" -As expected, `rel="next"` is at 15, and `rel="last"` is still 34. But now we've +In this example, `rel="next"` is at 15, and `rel="last"` is 34. But now we've got some more information: `rel="first"` indicates the URL for the _first_ page, and more importantly, `rel="prev"` lets you know the page number of the previous page. Using this information, you could construct some UI that lets users jump between the first, previous, next, or last list of results in an API call. + ### Changing the number of items received +#### Page based pagination + By passing the `per_page` parameter, you can specify how many items you want each page to return, up to 100 items. Let's try asking for 50 items about `addClass`: @@ -102,6 +178,14 @@ As you might have guessed, the `rel="last"` information says that the last page is now 20. This is because we are asking for more information per page about our results. +#### Cursor based pagination + +You can also pass the `per_page` parameter for cursor-based pagination. + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=>&per_page=50 +``` + ## Consuming the information You don't want to be making low-level curl calls just to be able to work with diff --git a/translations/ja-JP/data/reusables/actions/hardware-requirements-3.6.md b/translations/ja-JP/data/reusables/actions/hardware-requirements-3.6.md deleted file mode 100644 index 2019de8458..0000000000 --- a/translations/ja-JP/data/reusables/actions/hardware-requirements-3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -ms.openlocfilehash: 5c7cf10fca8efdcb186487e5de0e9a9d7e88d66b -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: ja-JP -ms.lasthandoff: 09/05/2022 -ms.locfileid: "147580746" ---- -| vCPU 数 | メモリ | 最大接続ランナー数 | -| :---| :--- | :--- | -| 8 | 64 GB | 740 ランナー | -| 32 | 160 GB | 2700 ランナー | -| 96 | 384 GB | 7000 ランナー | -| 128 | 512 GB | 7000 ランナー | diff --git a/translations/ja-JP/data/reusables/codespaces/edit-devcontainer-json.md b/translations/ja-JP/data/reusables/codespaces/edit-devcontainer-json.md new file mode 100644 index 0000000000..6ad1646807 --- /dev/null +++ b/translations/ja-JP/data/reusables/codespaces/edit-devcontainer-json.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38208812f73fda89c12d251955a1eee327ceb8db +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114120" +--- +1. ご利用のリポジトリの {% data variables.product.prodname_github_codespaces %} は、`devcontainer.json` ファイル内で構成されます。 リポジトリに `devcontainer.json` ファイルがまだ含まれていない場合は、今すぐ追加します。 「[開発コンテナー構成をリポジトリに追加する](/free-pro-team@latest/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)」を参照してください。 \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md index db1256da20..9bda52c077 100644 --- a/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md +++ b/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -1,6 +1,6 @@ If your workflow is using a {% data variables.product.pat_generic %} to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-personal-access-token)."{% endif %} For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." diff --git a/translations/ja-JP/data/reusables/security-advisory/global-advisories.md b/translations/ja-JP/data/reusables/security-advisory/global-advisories.md new file mode 100644 index 0000000000..05c965bbc9 --- /dev/null +++ b/translations/ja-JP/data/reusables/security-advisory/global-advisories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb874d7a6fcaa0deeb828d91f9769df69050d337 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114005" +--- +[github.com/advisories](https://github.com/advisories) で、{% data variables.product.prodname_advisory_database %} のセキュリティ アドバイザリは、グローバル アドバイザリと見なされます。 {% data variables.product.prodname_advisory_database %} のグローバル セキュリティ アドバイザリに対する改善は、誰でも提案することができます。 影響を受けるエコシステム、重大度レベル、または影響を受けるユーザーの説明など、任意の詳細を編集または追加できます。 {% data variables.product.prodname_security %} キュレーション チームは、送信された改善を確認し、受け入れられた場合は {% data variables.product.prodname_advisory_database %} にそれらを発行します。 \ No newline at end of file diff --git a/translations/log/msft-cn-resets.csv b/translations/log/msft-cn-resets.csv index 6b679303f8..7cd00ecb00 100644 --- a/translations/log/msft-cn-resets.csv +++ b/translations/log/msft-cn-resets.csv @@ -217,6 +217,7 @@ translations/zh-CN/content/sponsors/receiving-sponsorships-through-github-sponso translations/zh-CN/data/glossaries/internal.yml,file deleted because it no longer exists in main translations/zh-CN/data/graphql/ghes-3.1/graphql_previews.enterprise.yml,file deleted because it no longer exists in main translations/zh-CN/data/graphql/ghes-3.2/graphql_previews.enterprise.yml,file deleted because it no longer exists in main +translations/zh-CN/data/reusables/actions/hardware-requirements-3.6.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/actions/link-to-example-library.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/actions/perform-blob-storage-precheck.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/actions/self-hosted-runner-configure-runner-group.md,file deleted because it no longer exists in main @@ -233,9 +234,7 @@ translations/zh-CN/data/reusables/codespaces/concurrent-codespace-limit.md,file translations/zh-CN/data/reusables/codespaces/prebuilds-beta-note.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/codespaces/prebuilds-not-available.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/codespaces/unsupported-repos.md,file deleted because it no longer exists in main -translations/zh-CN/data/reusables/dependabot/beta-security-and-version-updates-onboarding.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/dependabot/create-dependabot-yml.md,file deleted because it no longer exists in main -translations/zh-CN/data/reusables/dependency-review/beta.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/desktop/paste-email-git-config.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/dotcom_billing/codespaces-minutes.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_codespaces.md,file deleted because it no longer exists in main @@ -243,7 +242,6 @@ translations/zh-CN/data/reusables/education/upgrade-organization.md,file deleted translations/zh-CN/data/reusables/education/upgrade-page.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/enterprise-accounts/repository-visibility-policy.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/enterprise-licensing/you-can-sync-for-a-combined-view.md,file deleted because it no longer exists in main -translations/zh-CN/data/reusables/enterprise/upgrade-ghes-for-actions.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/enterprise_management_console/username_normalization_sample.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/gated-features/advanced-security.md,file deleted because it no longer exists in main translations/zh-CN/data/reusables/gated-features/discussions.md,file deleted because it no longer exists in main @@ -303,7 +301,7 @@ translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-pers translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md,broken liquid tags translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md,rendering error translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md,rendering error -translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md,broken liquid tags +translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md,rendering error translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md,broken liquid tags translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md,rendering error translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md,broken liquid tags @@ -413,7 +411,7 @@ translations/zh-CN/content/admin/enterprise-management/caching-repositories/conf translations/zh-CN/content/admin/enterprise-management/caching-repositories/index.md,rendering error translations/zh-CN/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md,broken liquid tags translations/zh-CN/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md,broken liquid tags -translations/zh-CN/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md,broken liquid tags +translations/zh-CN/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md,rendering error translations/zh-CN/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md,broken liquid tags translations/zh-CN/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md,broken liquid tags translations/zh-CN/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md,broken liquid tags @@ -608,13 +606,13 @@ translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/c translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md,rendering error translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates.md,rendering error translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates.md,rendering error -translations/zh-CN/content/code-security/dependabot/index.md,broken liquid tags +translations/zh-CN/content/code-security/dependabot/index.md,rendering error translations/zh-CN/content/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions.md,rendering error translations/zh-CN/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md,rendering error translations/zh-CN/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md,rendering error translations/zh-CN/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md,rendering error translations/zh-CN/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md,rendering error -translations/zh-CN/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,broken liquid tags +translations/zh-CN/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,rendering error translations/zh-CN/content/code-security/getting-started/github-security-features.md,rendering error translations/zh-CN/content/code-security/getting-started/securing-your-organization.md,rendering error translations/zh-CN/content/code-security/getting-started/securing-your-repository.md,rendering error @@ -635,7 +633,7 @@ translations/zh-CN/content/code-security/supply-chain-security/understanding-you translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md,rendering error translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review.md,rendering error translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md,broken liquid tags -translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md,broken liquid tags +translations/zh-CN/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md,rendering error translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md,broken liquid tags translations/zh-CN/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md,broken liquid tags translations/zh-CN/content/codespaces/codespaces-reference/security-in-github-codespaces.md,broken liquid tags @@ -818,7 +816,7 @@ translations/zh-CN/content/organizations/managing-organization-settings/integrat translations/zh-CN/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md,rendering error translations/zh-CN/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md,rendering error translations/zh-CN/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md,broken liquid tags -translations/zh-CN/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,broken liquid tags +translations/zh-CN/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,rendering error translations/zh-CN/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md,rendering error translations/zh-CN/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md,broken liquid tags translations/zh-CN/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md,broken liquid tags @@ -900,6 +898,7 @@ translations/zh-CN/content/repositories/releasing-projects-on-github/comparing-r translations/zh-CN/content/repositories/releasing-projects-on-github/linking-to-releases.md,rendering error translations/zh-CN/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md,rendering error translations/zh-CN/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md,broken liquid tags +translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md,broken liquid tags translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md,broken liquid tags translations/zh-CN/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,broken liquid tags translations/zh-CN/content/repositories/working-with-files/using-files/working-with-non-code-files.md,rendering error @@ -1007,7 +1006,7 @@ translations/zh-CN/data/reusables/actions/github-connect-resolution.md,broken li translations/zh-CN/data/reusables/actions/ip-allow-list-self-hosted-runners.md,broken liquid tags translations/zh-CN/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md,broken liquid tags translations/zh-CN/data/reusables/actions/jobs/section-running-jobs-in-a-container.md,broken liquid tags -translations/zh-CN/data/reusables/actions/message-parameters.md,broken liquid tags +translations/zh-CN/data/reusables/actions/message-parameters.md,rendering error translations/zh-CN/data/reusables/actions/more-resources-for-ghes.md,rendering error translations/zh-CN/data/reusables/actions/ref_name-description.md,broken liquid tags translations/zh-CN/data/reusables/actions/reusable-workflow-artifacts.md,rendering error @@ -1032,7 +1031,7 @@ translations/zh-CN/data/reusables/advanced-security/about-committer-numbers-ghec translations/zh-CN/data/reusables/advanced-security/about-ghas-organization-policy.md,broken liquid tags translations/zh-CN/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md,rendering error translations/zh-CN/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md,rendering error -translations/zh-CN/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md,broken liquid tags +translations/zh-CN/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md,rendering error translations/zh-CN/data/reusables/advanced-security/secret-scanning-push-protection-org.md,broken liquid tags translations/zh-CN/data/reusables/apps/user-to-server-rate-limits.md,broken liquid tags translations/zh-CN/data/reusables/audit_log/audit-log-action-categories.md,rendering error @@ -1136,23 +1135,23 @@ translations/zh-CN/data/reusables/organizations/billing_plans.md,rendering error translations/zh-CN/data/reusables/organizations/github-apps-settings-sidebar.md,rendering error translations/zh-CN/data/reusables/organizations/member-privileges.md,rendering error translations/zh-CN/data/reusables/organizations/navigate-to-org.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/new_team.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/org_settings.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/organization-wide-project.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/owners-team.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/people.md,broken liquid tags +translations/zh-CN/data/reusables/organizations/new_team.md,rendering error +translations/zh-CN/data/reusables/organizations/org_settings.md,rendering error +translations/zh-CN/data/reusables/organizations/organization-wide-project.md,rendering error +translations/zh-CN/data/reusables/organizations/owners-team.md,rendering error +translations/zh-CN/data/reusables/organizations/people.md,rendering error translations/zh-CN/data/reusables/organizations/repository-defaults.md,rendering error translations/zh-CN/data/reusables/organizations/security-and-analysis.md,rendering error translations/zh-CN/data/reusables/organizations/security.md,rendering error -translations/zh-CN/data/reusables/organizations/specific_team.md,broken liquid tags -translations/zh-CN/data/reusables/organizations/teams.md,broken liquid tags +translations/zh-CN/data/reusables/organizations/specific_team.md,rendering error +translations/zh-CN/data/reusables/organizations/teams.md,rendering error translations/zh-CN/data/reusables/organizations/teams_sidebar.md,rendering error translations/zh-CN/data/reusables/organizations/verified-domains.md,rendering error translations/zh-CN/data/reusables/package_registry/authenticate-packages.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/authenticate-to-container-registry-steps.md,rendering error translations/zh-CN/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/package-registry-with-github-tokens.md,broken liquid tags -translations/zh-CN/data/reusables/package_registry/package-settings-from-org-level.md,broken liquid tags +translations/zh-CN/data/reusables/package_registry/package-settings-from-org-level.md,rendering error translations/zh-CN/data/reusables/package_registry/packages-billing.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/required-scopes.md,broken liquid tags translations/zh-CN/data/reusables/pages/build-failure-email-server.md,broken liquid tags @@ -1196,7 +1195,7 @@ translations/zh-CN/data/reusables/secret-scanning/partner-secret-list-public-rep translations/zh-CN/data/reusables/secret-scanning/secret-list-private-push-protection.md,rendering error translations/zh-CN/data/reusables/security-advisory/security-advisory-overview.md,broken liquid tags translations/zh-CN/data/reusables/security-overview/permissions.md,rendering error -translations/zh-CN/data/reusables/security/displayed-information.md,broken liquid tags +translations/zh-CN/data/reusables/security/displayed-information.md,rendering error translations/zh-CN/data/reusables/shortdesc/rate_limits_github_apps.md,broken liquid tags translations/zh-CN/data/reusables/sponsors/select-sponsorship-billing.md,broken liquid tags translations/zh-CN/data/reusables/ssh/about-ssh.md,broken liquid tags @@ -1229,7 +1228,7 @@ translations/zh-CN/data/reusables/user-settings/ssh.md,rendering error translations/zh-CN/data/reusables/webhooks/pull_request_properties.md,broken liquid tags translations/zh-CN/data/reusables/webhooks/pull_request_webhook_properties.md,broken liquid tags translations/zh-CN/data/reusables/webhooks/repository_vulnerability_alert_short_desc.md,broken liquid tags -translations/zh-CN/data/reusables/webhooks/webhooks-rest-api-links.md,broken liquid tags +translations/zh-CN/data/reusables/webhooks/webhooks-rest-api-links.md,rendering error translations/zh-CN/data/reusables/webhooks/workflow_run_properties.md,broken liquid tags translations/zh-CN/data/variables/product.yml,broken liquid tags translations/zh-CN/data/variables/projects.yml,broken liquid tags diff --git a/translations/log/msft-es-resets.csv b/translations/log/msft-es-resets.csv index f4ba8c7bc1..a61bd955a8 100644 --- a/translations/log/msft-es-resets.csv +++ b/translations/log/msft-es-resets.csv @@ -220,6 +220,7 @@ translations/es-ES/content/sponsors/receiving-sponsorships-through-github-sponso translations/es-ES/data/glossaries/internal.yml,file deleted because it no longer exists in main translations/es-ES/data/graphql/ghes-3.1/graphql_previews.enterprise.yml,file deleted because it no longer exists in main translations/es-ES/data/graphql/ghes-3.2/graphql_previews.enterprise.yml,file deleted because it no longer exists in main +translations/es-ES/data/reusables/actions/hardware-requirements-3.6.md,file deleted because it no longer exists in main translations/es-ES/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-strategy.md,file deleted because it no longer exists in main translations/es-ES/data/reusables/actions/link-to-example-library.md,file deleted because it no longer exists in main translations/es-ES/data/reusables/actions/perform-blob-storage-precheck.md,file deleted because it no longer exists in main @@ -630,7 +631,7 @@ translations/es-ES/content/code-security/dependabot/working-with-dependabot/keep translations/es-ES/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md,rendering error translations/es-ES/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md,rendering error translations/es-ES/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md,rendering error -translations/es-ES/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,broken liquid tags +translations/es-ES/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,rendering error translations/es-ES/content/code-security/getting-started/github-security-features.md,rendering error translations/es-ES/content/code-security/getting-started/securing-your-organization.md,rendering error translations/es-ES/content/code-security/getting-started/securing-your-repository.md,rendering error @@ -833,7 +834,6 @@ translations/es-ES/content/organizations/managing-organization-settings/managing translations/es-ES/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md,broken liquid tags translations/es-ES/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,rendering error translations/es-ES/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md,rendering error -translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md,broken liquid tags translations/es-ES/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md,broken liquid tags translations/es-ES/content/organizations/organizing-members-into-teams/about-teams.md,broken liquid tags translations/es-ES/content/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team.md,rendering error @@ -913,6 +913,7 @@ translations/es-ES/content/repositories/releasing-projects-on-github/comparing-r translations/es-ES/content/repositories/releasing-projects-on-github/linking-to-releases.md,rendering error translations/es-ES/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md,rendering error translations/es-ES/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md,broken liquid tags +translations/es-ES/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md,broken liquid tags translations/es-ES/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md,broken liquid tags translations/es-ES/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,broken liquid tags translations/es-ES/content/repositories/working-with-files/using-files/working-with-non-code-files.md,rendering error diff --git a/translations/log/msft-ja-resets.csv b/translations/log/msft-ja-resets.csv index 0c39b2403a..6a85d4e3bc 100644 --- a/translations/log/msft-ja-resets.csv +++ b/translations/log/msft-ja-resets.csv @@ -227,6 +227,7 @@ translations/ja-JP/content/sponsors/receiving-sponsorships-through-github-sponso translations/ja-JP/data/glossaries/internal.yml,file deleted because it no longer exists in main translations/ja-JP/data/graphql/ghes-3.1/graphql_previews.enterprise.yml,file deleted because it no longer exists in main translations/ja-JP/data/graphql/ghes-3.2/graphql_previews.enterprise.yml,file deleted because it no longer exists in main +translations/ja-JP/data/reusables/actions/hardware-requirements-3.6.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/actions/link-to-example-library.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/actions/perform-blob-storage-precheck.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/actions/self-hosted-runner-configure-runner-group.md,file deleted because it no longer exists in main @@ -244,9 +245,7 @@ translations/ja-JP/data/reusables/codespaces/concurrent-codespace-limit.md,file translations/ja-JP/data/reusables/codespaces/prebuilds-beta-note.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/codespaces/prebuilds-not-available.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/codespaces/unsupported-repos.md,file deleted because it no longer exists in main -translations/ja-JP/data/reusables/dependabot/beta-security-and-version-updates-onboarding.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/dependabot/create-dependabot-yml.md,file deleted because it no longer exists in main -translations/ja-JP/data/reusables/dependency-review/beta.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/desktop/paste-email-git-config.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/dotcom_billing/codespaces-minutes.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_codespaces.md,file deleted because it no longer exists in main @@ -254,7 +253,6 @@ translations/ja-JP/data/reusables/education/upgrade-organization.md,file deleted translations/ja-JP/data/reusables/education/upgrade-page.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/enterprise-accounts/repository-visibility-policy.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/enterprise-licensing/you-can-sync-for-a-combined-view.md,file deleted because it no longer exists in main -translations/ja-JP/data/reusables/enterprise/upgrade-ghes-for-actions.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/enterprise_management_console/username_normalization.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/enterprise_management_console/username_normalization_sample.md,file deleted because it no longer exists in main translations/ja-JP/data/reusables/gated-features/advanced-security.md,file deleted because it no longer exists in main @@ -321,7 +319,7 @@ translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-pers translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md,rendering error translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md,rendering error -translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md,broken liquid tags +translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md,rendering error translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md,rendering error translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md,rendering error @@ -431,7 +429,7 @@ translations/ja-JP/content/admin/enterprise-management/caching-repositories/conf translations/ja-JP/content/admin/enterprise-management/caching-repositories/index.md,rendering error translations/ja-JP/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md,broken liquid tags translations/ja-JP/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md,broken liquid tags -translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md,broken liquid tags +translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md,rendering error translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md,broken liquid tags translations/ja-JP/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md,broken liquid tags translations/ja-JP/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md,broken liquid tags @@ -622,13 +620,13 @@ translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/c translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md,rendering error translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates.md,rendering error translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates.md,rendering error -translations/ja-JP/content/code-security/dependabot/index.md,broken liquid tags +translations/ja-JP/content/code-security/dependabot/index.md,rendering error translations/ja-JP/content/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions.md,rendering error translations/ja-JP/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md,rendering error translations/ja-JP/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md,rendering error translations/ja-JP/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md,rendering error translations/ja-JP/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md,rendering error -translations/ja-JP/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,broken liquid tags +translations/ja-JP/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,rendering error translations/ja-JP/content/code-security/getting-started/github-security-features.md,rendering error translations/ja-JP/content/code-security/getting-started/securing-your-organization.md,rendering error translations/ja-JP/content/code-security/getting-started/securing-your-repository.md,rendering error @@ -649,7 +647,7 @@ translations/ja-JP/content/code-security/supply-chain-security/understanding-you translations/ja-JP/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md,rendering error translations/ja-JP/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review.md,rendering error translations/ja-JP/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md,broken liquid tags -translations/ja-JP/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md,broken liquid tags +translations/ja-JP/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md,rendering error translations/ja-JP/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md,rendering error translations/ja-JP/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md,broken liquid tags translations/ja-JP/content/codespaces/codespaces-reference/security-in-github-codespaces.md,broken liquid tags @@ -828,7 +826,7 @@ translations/ja-JP/content/organizations/managing-organization-settings/integrat translations/ja-JP/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md,rendering error translations/ja-JP/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md,rendering error translations/ja-JP/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md,broken liquid tags -translations/ja-JP/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,broken liquid tags +translations/ja-JP/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md,rendering error translations/ja-JP/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md,rendering error translations/ja-JP/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md,rendering error translations/ja-JP/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md,broken liquid tags @@ -913,6 +911,7 @@ translations/ja-JP/content/repositories/releasing-projects-on-github/comparing-r translations/ja-JP/content/repositories/releasing-projects-on-github/linking-to-releases.md,rendering error translations/ja-JP/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md,rendering error translations/ja-JP/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md,broken liquid tags +translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md,broken liquid tags translations/ja-JP/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md,broken liquid tags translations/ja-JP/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,broken liquid tags translations/ja-JP/content/repositories/working-with-files/using-files/working-with-non-code-files.md,rendering error @@ -1024,7 +1023,7 @@ translations/ja-JP/data/reusables/actions/github-connect-resolution.md,broken li translations/ja-JP/data/reusables/actions/hosted-runner-security.md,broken liquid tags translations/ja-JP/data/reusables/actions/ip-allow-list-self-hosted-runners.md,broken liquid tags translations/ja-JP/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md,broken liquid tags -translations/ja-JP/data/reusables/actions/message-parameters.md,broken liquid tags +translations/ja-JP/data/reusables/actions/message-parameters.md,rendering error translations/ja-JP/data/reusables/actions/more-resources-for-ghes.md,rendering error translations/ja-JP/data/reusables/actions/moving-a-runner-to-a-group.md,rendering error translations/ja-JP/data/reusables/actions/ref_name-description.md,broken liquid tags @@ -1051,7 +1050,7 @@ translations/ja-JP/data/reusables/advanced-security/about-committer-numbers-ghec translations/ja-JP/data/reusables/advanced-security/about-ghas-organization-policy.md,broken liquid tags translations/ja-JP/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md,rendering error translations/ja-JP/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md,rendering error -translations/ja-JP/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md,broken liquid tags +translations/ja-JP/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md,rendering error translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protection-org.md,broken liquid tags translations/ja-JP/data/reusables/apps/user-to-server-rate-limits.md,broken liquid tags translations/ja-JP/data/reusables/audit_log/audit-log-action-categories.md,rendering error @@ -1154,16 +1153,16 @@ translations/ja-JP/data/reusables/organizations/billing_plans.md,rendering error translations/ja-JP/data/reusables/organizations/github-apps-settings-sidebar.md,rendering error translations/ja-JP/data/reusables/organizations/member-privileges.md,rendering error translations/ja-JP/data/reusables/organizations/navigate-to-org.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/new_team.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/org_settings.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/organization-wide-project.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/owners-team.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/people.md,broken liquid tags +translations/ja-JP/data/reusables/organizations/new_team.md,rendering error +translations/ja-JP/data/reusables/organizations/org_settings.md,rendering error +translations/ja-JP/data/reusables/organizations/organization-wide-project.md,rendering error +translations/ja-JP/data/reusables/organizations/owners-team.md,rendering error +translations/ja-JP/data/reusables/organizations/people.md,rendering error translations/ja-JP/data/reusables/organizations/repository-defaults.md,rendering error translations/ja-JP/data/reusables/organizations/security-and-analysis.md,rendering error translations/ja-JP/data/reusables/organizations/security.md,rendering error -translations/ja-JP/data/reusables/organizations/specific_team.md,broken liquid tags -translations/ja-JP/data/reusables/organizations/teams.md,broken liquid tags +translations/ja-JP/data/reusables/organizations/specific_team.md,rendering error +translations/ja-JP/data/reusables/organizations/teams.md,rendering error translations/ja-JP/data/reusables/organizations/teams_sidebar.md,rendering error translations/ja-JP/data/reusables/organizations/verified-domains.md,rendering error translations/ja-JP/data/reusables/package_registry/authenticate-packages.md,broken liquid tags @@ -1171,7 +1170,7 @@ translations/ja-JP/data/reusables/package_registry/authenticate-to-container-reg translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/package-registry-with-github-tokens.md,broken liquid tags -translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md,broken liquid tags +translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md,rendering error translations/ja-JP/data/reusables/package_registry/packages-billing.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/required-scopes.md,broken liquid tags translations/ja-JP/data/reusables/pages/build-failure-email-server.md,broken liquid tags @@ -1218,7 +1217,7 @@ translations/ja-JP/data/reusables/secret-scanning/partner-secret-list-public-rep translations/ja-JP/data/reusables/secret-scanning/secret-list-private-push-protection.md,rendering error translations/ja-JP/data/reusables/security-advisory/security-advisory-overview.md,broken liquid tags translations/ja-JP/data/reusables/security-overview/permissions.md,rendering error -translations/ja-JP/data/reusables/security/displayed-information.md,broken liquid tags +translations/ja-JP/data/reusables/security/displayed-information.md,rendering error translations/ja-JP/data/reusables/shortdesc/rate_limits_github_apps.md,broken liquid tags translations/ja-JP/data/reusables/sponsors/select-sponsorship-billing.md,broken liquid tags translations/ja-JP/data/reusables/ssh/about-ssh.md,broken liquid tags @@ -1251,7 +1250,7 @@ translations/ja-JP/data/reusables/user-settings/ssh.md,rendering error translations/ja-JP/data/reusables/webhooks/pull_request_properties.md,broken liquid tags translations/ja-JP/data/reusables/webhooks/pull_request_webhook_properties.md,broken liquid tags translations/ja-JP/data/reusables/webhooks/repository_vulnerability_alert_short_desc.md,broken liquid tags -translations/ja-JP/data/reusables/webhooks/webhooks-rest-api-links.md,broken liquid tags +translations/ja-JP/data/reusables/webhooks/webhooks-rest-api-links.md,rendering error translations/ja-JP/data/reusables/webhooks/workflow_run_properties.md,broken liquid tags translations/ja-JP/data/variables/product.yml,broken liquid tags translations/ja-JP/data/variables/projects.yml,broken liquid tags diff --git a/translations/log/msft-pt-resets.csv b/translations/log/msft-pt-resets.csv index b548c40b6e..368803d923 100644 --- a/translations/log/msft-pt-resets.csv +++ b/translations/log/msft-pt-resets.csv @@ -219,6 +219,7 @@ translations/pt-BR/content/sponsors/receiving-sponsorships-through-github-sponso translations/pt-BR/data/glossaries/internal.yml,file deleted because it no longer exists in main translations/pt-BR/data/graphql/ghes-3.1/graphql_previews.enterprise.yml,file deleted because it no longer exists in main translations/pt-BR/data/graphql/ghes-3.2/graphql_previews.enterprise.yml,file deleted because it no longer exists in main +translations/pt-BR/data/reusables/actions/hardware-requirements-3.6.md,file deleted because it no longer exists in main translations/pt-BR/data/reusables/actions/link-to-example-library.md,file deleted because it no longer exists in main translations/pt-BR/data/reusables/actions/perform-blob-storage-precheck.md,file deleted because it no longer exists in main translations/pt-BR/data/reusables/actions/self-hosted-runner-configure-runner-group.md,file deleted because it no longer exists in main @@ -615,7 +616,7 @@ translations/pt-BR/content/code-security/dependabot/working-with-dependabot/keep translations/pt-BR/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md,rendering error translations/pt-BR/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md,rendering error translations/pt-BR/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md,rendering error -translations/pt-BR/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,broken liquid tags +translations/pt-BR/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md,rendering error translations/pt-BR/content/code-security/getting-started/github-security-features.md,rendering error translations/pt-BR/content/code-security/getting-started/securing-your-organization.md,rendering error translations/pt-BR/content/code-security/getting-started/securing-your-repository.md,rendering error @@ -900,6 +901,7 @@ translations/pt-BR/content/repositories/releasing-projects-on-github/comparing-r translations/pt-BR/content/repositories/releasing-projects-on-github/linking-to-releases.md,rendering error translations/pt-BR/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md,rendering error translations/pt-BR/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md,broken liquid tags +translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md,broken liquid tags translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md,broken liquid tags translations/pt-BR/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,broken liquid tags translations/pt-BR/content/repositories/working-with-files/using-files/working-with-non-code-files.md,rendering error diff --git a/translations/pt-BR/content/actions/security-guides/security-hardening-for-github-actions.md b/translations/pt-BR/content/actions/security-guides/security-hardening-for-github-actions.md index 5a18705739..fed4af9a0b 100644 --- a/translations/pt-BR/content/actions/security-guides/security-hardening-for-github-actions.md +++ b/translations/pt-BR/content/actions/security-guides/security-hardening-for-github-actions.md @@ -215,6 +215,12 @@ For more information on how to configure this setting, see {% ifversion allow-ac These sections consider some of the steps an attacker can take if they're able to run malicious commands on a {% data variables.product.prodname_actions %} runner. +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %}-hosted runners do not scan for malicious code downloaded by a user during their job, such as a compromised third party library. + +{% endnote %} + ### Accessing secrets Workflows triggered using the `pull_request` event have read-only permissions and have no access to secrets. However, these permissions differ for various event triggers such as `issue_comment`, `issues` and `push`, where the attacker could attempt to steal repository secrets or use the write permission of the job's [`GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token). diff --git a/translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md index 5b79fefc07..fd0656617f 100644 --- a/translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md +++ b/translations/pt-BR/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md @@ -77,9 +77,15 @@ Maximum concurrency was measured using multiple repositories, job duration of ap {%- endif %} -{%- ifversion ghes = 3.6 %} +{%- ifversion ghes > 3.5 %} -{% data reusables.actions.hardware-requirements-3.6 %} + +| vCPUs | Memory | Maximum Connected Runners | +| :---| :--- | :--- | +| 8 | 64 GB | 740 runners | +| 32 | 160 GB | 2700 runners | +| 96 | 384 GB | 7000 runners | +| 128 | 512 GB | 7000 runners | {% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 547784b6ad..294dc0dd7d 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -16,9 +16,9 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." -You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." +You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." {% ifversion fpt or ghec %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e95ef98441..2b6e79d378 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -23,7 +23,7 @@ shortTitle: Generate new SSH key When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. -If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -44,7 +44,7 @@ If you are a site administrator for {% data variables.location.product_location {%- ifversion ghae %} ```shell - $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` @@ -160,7 +160,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endnote %} -4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endmac %} @@ -178,7 +178,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endwindows %} @@ -189,7 +189,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endlinux %} @@ -246,4 +246,4 @@ If you are using macOS or Linux, you may need to update your SSH client or insta > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] ``` -7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 0ddfcd5c89..1b1c1fbd9f 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -121,6 +121,6 @@ You can use an existing SSH key to sign commits and tags, or generate a new one {% data reusables.gpg.x-509-key %} ## Further reading -- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +- "[Adding a new SSH key to your GitHub account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." - "[Signing commits](/articles/signing-commits)" - "[Signing tags](/articles/signing-tags)" diff --git a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/index.md b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/index.md index 49ffd87e44..b2d1e3c168 100644 --- a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/index.md +++ b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/index.md @@ -19,11 +19,11 @@ children: - /configuring-dependabot-alerts - /viewing-and-updating-dependabot-alerts - /configuring-notifications-for-dependabot-alerts -ms.openlocfilehash: 04365ffa391c8da15c34f1e0651d9efa4ebb1a42 -ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.openlocfilehash: b9abda5288d4f0dfed2175b0e944c0d1bc48f3f7 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: pt-BR -ms.lasthandoff: 09/10/2022 -ms.locfileid: '146455490' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113952' --- diff --git a/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md new file mode 100644 index 0000000000..7f477546e0 --- /dev/null +++ b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md @@ -0,0 +1,51 @@ +--- +title: Adicionando um colaborador a uma consultoria de segurança de repositório +intro: É possível adicionar outros usuários ou equipes para colaborar em uma consultoria de segurança com você. +redirect_from: + - /articles/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory + - /code-security/security-advisories/adding-a-collaborator-to-a-security-advisory + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Add collaborators +ms.openlocfilehash: d080fa5d7b66d9ce89b7985f689133e52ec69cc3 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113963' +--- +Todas as pessoas com permissões de administrador para uma consultora de segurança podem adicionar colaboradores à consultora de segurança. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Adicionar um colaborador a uma consultora de segurança + +Os colaboradores têm permissões de gravação para a consultoria de segurança. Para obter mais informações, confira "[Níveis de permissão para consultorias de segurança do repositório](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)". + +{% note %} + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} Para obter mais informações sobre como remover um colaborador em uma consultoria de segurança, confira "[Como remover um colaborador de uma consultoria de segurança do repositório](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)". + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança", clique na consultoria de segurança à qual deseja adicionar um colaborador. +5. No lado direito da página, em "Colaboradores", digite o nome do usuário ou da equipe que você gostaria de adicionar à consultora de segurança. + ![Campo usado para digitar o nome de usuário ou a equipe](/assets/images/help/security/add-collaborator-field.png) +6. Clique em **Adicionar**. + ![Botão Adicionar](/assets/images/help/security/security-advisory-add-collaborator-button.png) + +## Leitura adicional + +- "[Níveis de permissão para consultorias de segurança do repositório](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)" +- "[Como remover um colaborador de uma consultoria de segurança do repositório](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)" diff --git a/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md new file mode 100644 index 0000000000..c72b952d9d --- /dev/null +++ b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md @@ -0,0 +1,91 @@ +--- +title: Colaborando em uma bifurcação privada temporária para resolver uma vulnerabilidade de segurança do repositório +intro: Você pode criar uma bifurcação privada temporária para colaborar de maneira privada na correção de uma vulnerabilidade de segurança em seu repositório. +redirect_from: + - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration + - Forks +shortTitle: Temporary private forks +ms.openlocfilehash: c5d4f5f8b58498f995a473b4c0c0f3c38ea96083 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113961' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Pré-requisitos + +Antes de poder colaborar em uma bifurcação privada temporária, você deverá criar um rascunho da consultoria de segurança. Para obter mais informações, confira "[Como criar um aviso de segurança do repositório](/code-security/repository-security-advisories/creating-a-repository-security-advisory)". + +## Criar uma bifurcação privada temporária + +Qualquer pessoa com permissões de administrador em uma consultoria de segurança pode criar uma bifurcação privada temporária. + +Para manter as informações sobre vulnerabilidades em segurança, as integrações, incluindo CI, não podem acessar bifurcações privadas temporárias. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança", clique na consultoria de segurança que você gostaria de criar uma bifurcação privada temporária. + ![Aviso de segurança na lista](/assets/images/help/security/security-advisory-in-list.png) +5. Clique em **Novo fork privado temporário**. + ![Botão Novo fork privado temporário](/assets/images/help/security/new-temporary-private-fork-button.png) + +## Adicionar colaboradores a uma bifurcação temporária privada + +Qualquer pessoa com permissão de administrador para uma consultoria de segurança pode adicionar colaboradores ao consultor de segurança, e os colaboradores na consultoria de segurança podem acessar uma bifurcação privada temporária. Para obter mais informações, confira "[Como adicionar um colaborador a um aviso de segurança do repositório](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)". + +## Adicionar alterações a uma bifurcação privada temporária + +Qualquer pessoa com permissões de gravação em uma consultoria de segurança pode adicionar alterações a uma bifurcação privada temporária. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança", clique na consultoria de segurança à qual deseja adicionar alterações. + ![Aviso de segurança na lista](/assets/images/help/security/security-advisory-in-list.png) +5. Adicione as alterações no {% data variables.product.product_name %} ou localmente: + - Para adicionar alterações no {% data variables.product.product_name %}, em "Adicionar alterações a este aviso", clique **no fork privado temporário**. Em seguida, crie um branch e edite os arquivos. Para obter mais informações, confira "[Como criar e excluir branches no seu repositório](/articles/creating-and-deleting-branches-within-your-repository)" e "[Como editar arquivos](/repositories/working-with-files/managing-files/editing-files)". + - Para adicionar as alterações localmente, siga as instruções em "Clonar e criar um novo branch" e "Faça suas alterações e, em seguida, faça o push." + ![Caixa Adicionar alterações a este aviso](/assets/images/help/security/add-changes-to-this-advisory-box.png) + +## Criar uma pull request de uma bifurcação privada temporária + +Qualquer pessoa com permissões de gravação em uma consultoria de segurança pode criar uma pull request de uma bifurcação privada temporária. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança" clique na consultoria de segurança na qual deseja criar um pull request. + ![Aviso de segurança na lista](/assets/images/help/security/security-advisory-in-list.png) +5. À direita do nome do branch, clique em **Comparação e solicitação de pull**. + ![Botão Comparação e solicitação de pull](/assets/images/help/security/security-advisory-compare-and-pr.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.merge-all-pulls-together %} Para obter mais informações, confira "[Como mesclar alterações em um aviso de segurança](#merging-changes-in-a-security-advisory)". + +## Mesclar alterações em uma consultoria de segurança + +Qualquer pessoa com permissão de administrador para uma consultoria de segurança pode mesclar alterações em uma consultora de segurança. + +{% data reusables.repositories.merge-all-pulls-together %} + +Antes de poder mesclar as alterações em uma consultoria de segurança, todo pull request aberto na bifurcação privada temporária deverá ser mesclada. Pode haver conflitos de merge e os requisitos de proteção do branch devem ser atendidos. Para manter as informações sobre vulnerabilidades seguras, as verificações de status não são executadas em pull requests de bifurcações privadas temporárias. Para obter mais informações, confira "[Sobre os branches protegidos](/articles/about-protected-branches)". + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança", clique na consultoria de segurança com as alterações que gostaria de mesclar. + ![Aviso de segurança na lista](/assets/images/help/security/security-advisory-in-list.png) +5. Para mesclar todas as solicitações de pull em aberto no fork privado temporário, clique em **Mesclar solicitações de pull**. + ![Botão Mesclar solicitações de pull](/assets/images/help/security/merge-pull-requests-button.png) + +Após mesclar as alterações em uma consultoria de segurança, você poderá publicar a consultoria de segurança para alertar a sua comunidade sobre a vulnerabilidade de segurança em versões anteriores do seu projeto. Para obter mais informações, confira "[Como publicar um aviso de segurança do repositório](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)". + +## Leitura adicional + +- "[Níveis de permissão para avisos de segurança do repositório](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Como publicar um aviso de segurança do repositório](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)" diff --git a/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md new file mode 100644 index 0000000000..ff8dd6c6be --- /dev/null +++ b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md @@ -0,0 +1,51 @@ +--- +title: Níveis de permissão para consultorias de segurança do repositório +intro: As ações que você pode tomar em uma consultoria de segurança dependem do fato de você ter permissões de administrador ou de gravação na consultoria de segurança. +redirect_from: + - /articles/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories + - /code-security/security-advisories/permission-levels-for-security-advisories + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Security advisories + - Vulnerabilities + - Permissions +shortTitle: Permission levels +ms.openlocfilehash: f4195822de121780f1629fda3d646170d4c4e566 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113962' +--- +Este artigo aplica-se apenas às consultorias de segurança a nível de repositório. Qualquer pessoa pode contribuir com avisos de segurança global no {% data variables.product.prodname_advisory_database %} em [github.com/advisories](https://github.com/advisories). As edições nas consultorias globais não mudarão ou afetarão a forma como a consultoria aparece no repositório. Para obter mais informações, confira "[Como editar avisos de segurança no {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)". + +## Visão geral das permissões + +{% data reusables.repositories.security-advisory-admin-permissions %} Para obter mais informações sobre como adicionar um colaborador a um aviso de segurança, confira "[Como adicionar um colaborador a um aviso de segurança do repositório](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)". + +Ação | Permissões de gravação | Permissões de administrador | +------ | ----------------- | ----------------- | +Veja um rascunho da consultoria de segurança | X | X | +Adicionar colaboradores ao aviso de segurança (confira "[Como adicionar um colaborador a um aviso de segurança do repositório](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)") | | X | +Editar e excluir quaisquer comentários na consultoria de segurança | X | X | +Criar um fork privado temporário no aviso de segurança (confira "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | | X | +Adicionar alterações a um fork privado temporário no aviso de segurança (confira "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | X | X | +Criar solicitações de pull em um fork privado temporário (confira "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | X | X | +Mesclar alterações no aviso de segurança (confira "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)") | | X | +Adicionar e editar metadados no aviso de segurança (confira "[Como publicar um aviso de segurança do repositório](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)") | X | X | +Adicionar e remover créditos para um aviso de segurança (confira "[Como editar um aviso de segurança do repositório](/code-security/repository-security-advisories/editing-a-repository-security-advisory)") | X | X | +Fechar o rascunho da consultoria de segurança | | X | +Publicar o aviso de segurança (confira "[Como publicar um aviso de segurança do repositório](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)") | | X | + +## Leitura adicional + +- "[Como adicionar um colaborador a um aviso de segurança do repositório](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)" +- "[Colaboração em um fork privado temporário para resolver uma vulnerabilidade de segurança do repositório](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)" +- "[Como remover um colaborador de um aviso de segurança do repositório](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)" +- "[Como retirar um aviso de segurança do repositório](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory)" diff --git a/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md new file mode 100644 index 0000000000..96614e89a1 --- /dev/null +++ b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md @@ -0,0 +1,43 @@ +--- +title: Removendo um colaborador de uma consultoria de segurança de repositório +intro: 'Ao remover um colaborador de uma consultoria de segurança do repositório, ele perderá acesso de leitura e gravação às discussões e metadados da consultoria de segurança.' +redirect_from: + - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory + - /code-security/security-advisories/removing-a-collaborator-from-a-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Remove collaborators +ms.openlocfilehash: 77c21bea9c593935ee1b92028fc52859320f5a38 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113959' +--- +As pessoas com permissões de administrador para uma consultoria de segurança podem remover colaboradores da consultoria de segurança. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Remover um colaborador de uma consultoria de segurança + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Na lista "consultoria de segurança" clique na consultoria de segurança da qual deseja remover um colaborador. + ![Aviso de segurança na lista](/assets/images/help/security/security-advisory-in-list.png) +5. No lado direito da página, em "Colaboradores", encontre o nome do usuário ou da equipe que deseja remover da consultoria de segurança. + ![Colaborador no aviso de segurança](/assets/images/help/security/security-advisory-collaborator.png) +6. Ao lado do colaborador que deseja remover, clique no ícone **X**. + ![Ícone X para remover o colaborador no aviso de segurança](/assets/images/help/security/security-advisory-remove-collaborator-x.png) + +## Leitura adicional + +- "[Níveis de permissão para avisos de segurança do repositório](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)" +- "[Como adicionar um colaborador a um aviso de segurança do repositório](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)" diff --git a/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md new file mode 100644 index 0000000000..50886b9c9c --- /dev/null +++ b/translations/pt-BR/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md @@ -0,0 +1,29 @@ +--- +title: Retirando uma consultoria de segurança do repositório +intro: Você pode retirar uma consultoria de segurança do repositório que você publicou. +redirect_from: + - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory + - /code-security/security-advisories/withdrawing-a-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Withdraw repository advisories +ms.openlocfilehash: 71a6560c463384b032546b824e5f4294ced568e5 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113947' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +Se você publicar uma consultoria de segurança por engano, poderá retirar a consultoria de segurança entrando em contato com {% data variables.contact.contact_support %}. + +## Leitura adicional + +- "[Editando uma consultoria de segurança do repositório](/code-security/repository-security-advisories/editing-a-repository-security-advisory)" diff --git a/translations/pt-BR/content/codespaces/guides.md b/translations/pt-BR/content/codespaces/guides.md index 239552e325..84b442a778 100644 --- a/translations/pt-BR/content/codespaces/guides.md +++ b/translations/pt-BR/content/codespaces/guides.md @@ -55,11 +55,11 @@ includeGuides: - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces - /codespaces/codespaces-reference/disaster-recovery-for-codespaces - /codespaces/codespaces-reference/security-in-codespaces -ms.openlocfilehash: 54ba7cc4fbacd536f0438626281d1b59252eb3f1 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 24bf08da053efd9f822b1eb43bacbbe822c1ba8b +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: pt-BR -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783108' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113894' --- diff --git a/translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/index.md b/translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/index.md index 8bf26a6ec1..f9ce7fd55a 100644 --- a/translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/index.md +++ b/translations/pt-BR/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -19,11 +19,11 @@ children: - /setting-a-minimum-specification-for-codespace-machines - /automatically-opening-files-in-the-codespaces-for-a-repository - /adding-a-codespaces-badge -ms.openlocfilehash: 1e172243dc351f0a173c8624b66914e1c3795495 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 4649ef4e36dff0b37d4a579ecd56bbb0edd2a184 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: pt-BR -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783036' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113953' --- diff --git a/translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md index b59a5335e2..7a6fcdc772 100644 --- a/translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md +++ b/translations/pt-BR/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -1,6 +1,6 @@ --- -title: Sobre armazenamento de arquivo grande do Git -intro: '{% data variables.product.product_name %} limita o tamanho dos arquivos permitidos nos repositórios. Para rastrear arquivos além desse limite, você pode usar {% data variables.large_files.product_name_long %}.' +title: About Git Large File Storage +intro: '{% data variables.product.product_name %} limits the size of files allowed in repositories. To track files beyond this limit, you can use {% data variables.large_files.product_name_long %}.' redirect_from: - /articles/about-large-file-storage - /articles/about-git-large-file-storage @@ -12,35 +12,33 @@ versions: ghae: '*' ghec: '*' shortTitle: Git Large File Storage -ms.openlocfilehash: af198fe13f69fc4768178aea74a03f27a82ec20b -ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d -ms.translationtype: HT -ms.contentlocale: pt-BR -ms.lasthandoff: 09/10/2022 -ms.locfileid: '145126964' --- -## Sobre o {% data variables.large_files.product_name_long %} -O {% data variables.large_files.product_name_short %} manipula arquivos grandes armazenando referências ao arquivo no repositório, mas não no próprio arquivo. Para explorar a arquitetura do Git, o {% data variables.large_files.product_name_short %} cria um arquivo de ponteiro que funciona como uma referência ao arquivo real (que é armazenado em outro lugar). O {% data variables.product.product_name %} gerencia esse arquivo de ponteiro no seu repositório. Quando você clona o repositório, o {% data variables.product.product_name %} usa o arquivo de ponteiro como um mapa para encontrar o arquivo grande para você. +## About {% data variables.large_files.product_name_long %} -{% ifversion fpt or ghec %} Usando o {% data variables.large_files.product_name_short %}, você pode armazenar arquivos até: +{% data variables.large_files.product_name_short %} handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, {% data variables.large_files.product_name_short %} creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). {% data variables.product.product_name %} manages this pointer file in your repository. When you clone the repository down, {% data variables.product.product_name %} uses the pointer file as a map to go and find the large file for you. -| Produto | Tamanho máximo do arquivo | +{% ifversion fpt or ghec %} +Using {% data variables.large_files.product_name_short %}, you can store files up to: + +| Product | Maximum file size | |------- | ------- | | {% data variables.product.prodname_free_user %} | 2 GB | | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -Ao usar {% data variables.large_files.product_name_short %}, você pode armazenar arquivos de até 5 GB no seu repositório. -{% endif %} +Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. +{% endif %} -Também é possível usar o {% data variables.large_files.product_name_short %} com o {% data variables.product.prodname_desktop %}. Para obter mais informações sobre como clonar repositórios do Git LFS no {% data variables.product.prodname_desktop %}, confira "[Como clonar um repositório do GitHub para o GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)". +{% data reusables.repositories.git-lfs %} + +You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." {% data reusables.large_files.can-include-lfs-objects-archives %} -## Formato do arquivo de ponteiro +## Pointer file format -O arquivo de ponteiro do {% data variables.large_files.product_name_short %} tem esta aparência: +{% data variables.large_files.product_name_short %}'s pointer file looks like this: ``` version {% data variables.large_files.version_name %} @@ -48,16 +46,16 @@ oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5 size 84977953 ``` -Ele rastreia a `version` do {% data variables.large_files.product_name_short %} que está sendo usada, seguido de um identificador exclusivo para o arquivo (`oid`). Além disso, armazena o `size` do arquivo final. +It tracks the `version` of {% data variables.large_files.product_name_short %} you're using, followed by a unique identifier for the file (`oid`). It also stores the `size` of the final file. {% note %} -**Observações**: -- {% data variables.large_files.product_name_short %} não pode ser usado com sites de {% data variables.product.prodname_pages %}. -- {% data variables.large_files.product_name_short %} não pode ser usado com repositórios de modelos. +**Notes**: +- {% data variables.large_files.product_name_short %} cannot be used with {% data variables.product.prodname_pages %} sites. +- {% data variables.large_files.product_name_short %} cannot be used with template repositories. {% endnote %} -## Leitura adicional +## Further reading -- "[Colaboração com o {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" +- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" diff --git a/translations/pt-BR/content/rest/guides/traversing-with-pagination.md b/translations/pt-BR/content/rest/guides/traversing-with-pagination.md index ed7f9b1189..f47cd8dbbf 100644 --- a/translations/pt-BR/content/rest/guides/traversing-with-pagination.md +++ b/translations/pt-BR/content/rest/guides/traversing-with-pagination.md @@ -12,6 +12,7 @@ versions: topics: - API shortTitle: Traverse with pagination +miniTocMaxHeadingLevel: 3 --- The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API provides a vast wealth of information for developers to consume. @@ -24,10 +25,13 @@ in the [platform-samples][platform samples] repository. {% data reusables.rest-api.dotcom-only-guide-note %} + + ## Basics of Pagination To start with, it's important to know a few facts about receiving paginated items: + 1. Different API calls respond with different defaults. For example, a call to [List public repositories](/rest/reference/repos#list-public-repositories) provides paginated items in sets of 30, whereas a call to the GitHub Search API @@ -37,55 +41,127 @@ provides items in sets of 100 [events](/rest/reference/activity#events) won't let you set a maximum for items to receive. Be sure to read the documentation on how to handle paginated results for specific endpoints. -Information about pagination is provided in [the Link header](https://datatracker.ietf.org/doc/html/rfc5988) -of an API call. For example, let's make a curl request to the search API, to find -out how many times Mozilla projects use the phrase `addClass`: +{% note %} + +**Note**: You should always rely on URLs included in the link header. Don't try to guess or construct your own URLs. + +{% endnote %} + + +### Link header + +The response header includes information about pagination. For more information about headers, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#about-the-response-code-and-headers)." To get the response header, include the `-I` flag in your request. For example: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/advacado-corp/audit-log -```shell -$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla" ``` -The `-I` parameter indicates that we only care about the headers, not the actual -content. In examining the result, you'll notice some information in the Link header -that looks like this: +The `-I` flag returns only the response header. If the response is paginated, the response header will include a `link` header. The header will look something like this: - Link: ; rel="next", - ; rel="last" +``` +link: ; rel="next" +``` -Let's break that down. `rel="next"` says that the next page is `page=2`. This makes -sense, since by default, all paginated queries start at page `1.` `rel="last"` -provides some more information, stating that the last page of results is on page `34`. -Thus, we have 33 more pages of information about `addClass` that we can consume. -Nice! +or -**Always** rely on these link relations provided to you. Don't try to guess or construct your own URL. +``` +link: ; rel="next", ; rel="last" +``` +### Types of pagination -### Navigating through the pages +{% data variables.product.company_short %}'s API uses two pagination methods: page-based pagination and cursor-based pagination. If the `link` header includes `page`, then the operation uses page-based pagination. If the `link` header includes `before` and `after`, then the operation uses cursor-based pagination. -Now that you know how many pages there are to receive, you can start navigating -through the pages to consume the results. You do this by passing in a `page` -parameter. By default, `page` always starts at `1`. Let's jump ahead to page 14 -and see what happens: + +#### Page based pagination + +The link header for page-based pagination will tell you information about the previous, next, first, and last pages. If you did not request a specific page, then the response will default to the first page and information about the first and previous pages will be omitted. + +For example, for a request that did not specify a page, this header states that the next page is `2` and the last page is `511`. + +``` +link: ; rel="next", ; rel="last" +``` + +For example, for a request that specified page 5, this header states that the previous page is `4`, the next page is `6`, the last page is `511`, and the first page is `1`. + +``` +link: ; rel="prev", ; rel="next", ; rel="last", ; rel="first" +``` + +#### Cursor based pagination + +Cursor pagination uses terms `before` and `after` in order to navigate through pages. `rel="next"` and `rel="prev"` this mark the cursor point in the data set and provides a reference for traveling to the page `before` and `after` the current page. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +In this example, `rel=next` says that the next page is located at: + +``` +after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + + + + +### Using pagination + +#### Cursor based pagination + +Using cursor based pagination requires you to use the terms `before` and `after`. To navigate using `before` and `after`, copy the link header generated above into your curl request: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + +The above example will generate a page of results and new header information that you can use to make the next request. `rel="next"` provides the next page of results. `rel="prev"` provides the previous page of results. The important part of the output here is the link header needs to be generated rather than manually imputed. Copy the entire link from the following output. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +Unlike page-based pagination, the results will not return the last page number in the response. + + link: ; rel="next", + ; rel="first", + ; rel="prev" + +Because cursor based pagination creates a reference point in the data set, it cannot calculate the total number of results. + + +#### Page based pagination + +To navigate using page based pagination pass in a `page` +parameter. By default, `page` always starts at `1`. In the following example, we have made a curl request to the search API Mozilla projects use the phrase `addClass`. Instead of starting at 1, lets jump to page 14. ```shell $ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&page=14" ``` -Here's the link header once more: +Here's an except of the link header in the HTTP request: Link: ; rel="next", ; rel="last", ; rel="first", ; rel="prev" -As expected, `rel="next"` is at 15, and `rel="last"` is still 34. But now we've +In this example, `rel="next"` is at 15, and `rel="last"` is 34. But now we've got some more information: `rel="first"` indicates the URL for the _first_ page, and more importantly, `rel="prev"` lets you know the page number of the previous page. Using this information, you could construct some UI that lets users jump between the first, previous, next, or last list of results in an API call. + ### Changing the number of items received +#### Page based pagination + By passing the `per_page` parameter, you can specify how many items you want each page to return, up to 100 items. Let's try asking for 50 items about `addClass`: @@ -102,6 +178,14 @@ As you might have guessed, the `rel="last"` information says that the last page is now 20. This is because we are asking for more information per page about our results. +#### Cursor based pagination + +You can also pass the `per_page` parameter for cursor-based pagination. + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=>&per_page=50 +``` + ## Consuming the information You don't want to be making low-level curl calls just to be able to work with diff --git a/translations/pt-BR/data/reusables/actions/hardware-requirements-3.6.md b/translations/pt-BR/data/reusables/actions/hardware-requirements-3.6.md deleted file mode 100644 index e09355b4a4..0000000000 --- a/translations/pt-BR/data/reusables/actions/hardware-requirements-3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -ms.openlocfilehash: 5c7cf10fca8efdcb186487e5de0e9a9d7e88d66b -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: pt-BR -ms.lasthandoff: 09/05/2022 -ms.locfileid: "147580716" ---- -| vCPUs | Memória | Máximo de clientes conectados | -| :---| :--- | :--- | -| 8 | 64 GB | 740 executores | -| 32 | 160 GB | 2700 executores | -| 96 | 384 GB | 7000 executores | -| 128 | 512 GB | 7000 executores | diff --git a/translations/pt-BR/data/reusables/codespaces/edit-devcontainer-json.md b/translations/pt-BR/data/reusables/codespaces/edit-devcontainer-json.md new file mode 100644 index 0000000000..b11e342032 --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/edit-devcontainer-json.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38208812f73fda89c12d251955a1eee327ceb8db +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148113958" +--- +1. Os {% data variables.product.prodname_github_codespaces %} do repositório são configurados em um arquivo `devcontainer.json`. Se o repositório ainda não contiver um arquivo `devcontainer.json`, adicione-o agora. Confira "[Adicionar uma configuração de contêiner de desenvolvimento ao repositório](/free-pro-team@latest/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)". \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md index db1256da20..9bda52c077 100644 --- a/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md +++ b/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -1,6 +1,6 @@ If your workflow is using a {% data variables.product.pat_generic %} to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a {% data variables.product.pat_generic %}, see "[Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-personal-access-token)."{% endif %} For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." diff --git a/translations/pt-BR/data/reusables/security-advisory/global-advisories.md b/translations/pt-BR/data/reusables/security-advisory/global-advisories.md new file mode 100644 index 0000000000..5b6013a224 --- /dev/null +++ b/translations/pt-BR/data/reusables/security-advisory/global-advisories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb874d7a6fcaa0deeb828d91f9769df69050d337 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: pt-BR +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148113942" +--- +As consultorias de segurança do {% data variables.product.prodname_advisory_database %} em [github.com/advisories](https://github.com/advisories) são consideradas consultorias globais. Qualquer pessoa pode sugerir melhorias em qualquer consultoria de segurança global na {% data variables.product.prodname_advisory_database %}. Você pode editar ou adicionar qualquer detalhe, incluindo ecossistemas adicionalmente afetados, nível de gravidade ou descrição de quem é impactado. A equipe de curadoria da {% data variables.product.prodname_security %} irá revisar as melhorias apresentadas e publicá-las em {% data variables.product.prodname_advisory_database %}, se aceitas. \ No newline at end of file diff --git a/translations/zh-CN/content/actions/security-guides/security-hardening-for-github-actions.md b/translations/zh-CN/content/actions/security-guides/security-hardening-for-github-actions.md index 5a18705739..fed4af9a0b 100644 --- a/translations/zh-CN/content/actions/security-guides/security-hardening-for-github-actions.md +++ b/translations/zh-CN/content/actions/security-guides/security-hardening-for-github-actions.md @@ -215,6 +215,12 @@ For more information on how to configure this setting, see {% ifversion allow-ac These sections consider some of the steps an attacker can take if they're able to run malicious commands on a {% data variables.product.prodname_actions %} runner. +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %}-hosted runners do not scan for malicious code downloaded by a user during their job, such as a compromised third party library. + +{% endnote %} + ### Accessing secrets Workflows triggered using the `pull_request` event have read-only permissions and have no access to secrets. However, these permissions differ for various event triggers such as `issue_comment`, `issues` and `push`, where the attacker could attempt to steal repository secrets or use the write permission of the job's [`GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token). diff --git a/translations/zh-CN/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/translations/zh-CN/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md index 5b79fefc07..fd0656617f 100644 --- a/translations/zh-CN/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md +++ b/translations/zh-CN/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md @@ -77,9 +77,15 @@ Maximum concurrency was measured using multiple repositories, job duration of ap {%- endif %} -{%- ifversion ghes = 3.6 %} +{%- ifversion ghes > 3.5 %} -{% data reusables.actions.hardware-requirements-3.6 %} + +| vCPUs | Memory | Maximum Connected Runners | +| :---| :--- | :--- | +| 8 | 64 GB | 740 runners | +| 32 | 160 GB | 2700 runners | +| 96 | 384 GB | 7000 runners | +| 128 | 512 GB | 7000 runners | {% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. diff --git a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 547784b6ad..294dc0dd7d 100644 --- a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -16,9 +16,9 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." -You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." +You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." {% ifversion fpt or ghec %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} diff --git a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index e95ef98441..2b6e79d378 100644 --- a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -23,7 +23,7 @@ shortTitle: Generate new SSH key When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. -If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -44,7 +44,7 @@ If you are a site administrator for {% data variables.location.product_location {%- ifversion ghae %} ```shell - $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` @@ -160,7 +160,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endnote %} -4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endmac %} @@ -178,7 +178,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endwindows %} @@ -189,7 +189,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav 2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} -3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." {% endlinux %} @@ -246,4 +246,4 @@ If you are using macOS or Linux, you may need to update your SSH client or insta > Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] ``` -7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 0ddfcd5c89..1b1c1fbd9f 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -121,6 +121,6 @@ You can use an existing SSH key to sign commits and tags, or generate a new one {% data reusables.gpg.x-509-key %} ## Further reading -- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +- "[Adding a new SSH key to your GitHub account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." - "[Signing commits](/articles/signing-commits)" - "[Signing tags](/articles/signing-tags)" diff --git a/translations/zh-CN/content/code-security/dependabot/dependabot-alerts/index.md b/translations/zh-CN/content/code-security/dependabot/dependabot-alerts/index.md index 87831d91fb..2651397b2d 100644 --- a/translations/zh-CN/content/code-security/dependabot/dependabot-alerts/index.md +++ b/translations/zh-CN/content/code-security/dependabot/dependabot-alerts/index.md @@ -19,11 +19,11 @@ children: - /configuring-dependabot-alerts - /viewing-and-updating-dependabot-alerts - /configuring-notifications-for-dependabot-alerts -ms.openlocfilehash: 04365ffa391c8da15c34f1e0651d9efa4ebb1a42 -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.openlocfilehash: b9abda5288d4f0dfed2175b0e944c0d1bc48f3f7 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: zh-CN -ms.lasthandoff: 09/05/2022 -ms.locfileid: '146455491' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113985' --- diff --git a/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md new file mode 100644 index 0000000000..0b4bbeec0d --- /dev/null +++ b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md @@ -0,0 +1,51 @@ +--- +title: 将协作者添加到存储库安全通告 +intro: 您可以添加其他用户或团队与您协作处理安全通告。 +redirect_from: + - /articles/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory + - /code-security/security-advisories/adding-a-collaborator-to-a-security-advisory + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Add collaborators +ms.openlocfilehash: d080fa5d7b66d9ce89b7985f689133e52ec69cc3 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113995' +--- +对安全通告具有管理员权限的人员可向安全通告添加协作者。 + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## 添加协作者到安全通告 + +协作者对安全通告具有写入权限。 有关详细信息,请参阅[存储库安全通告的权限级别](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)。 + +{% note %} + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} 有关删除安全通告协作者的更多信息,请参阅[从存储库安全通告删除协作者](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)。 + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要向其添加协作者的安全通告。 +5. 在页面右侧的“Collaborators(协作者)”下,键入要添加到安全通告的用户或团队名称。 + ![用于输入用户或团队名称的字段](/assets/images/help/security/add-collaborator-field.png) +6. 单击“添加”。 + ![“添加”按钮](/assets/images/help/security/security-advisory-add-collaborator-button.png) + +## 延伸阅读 + +- [存储库安全通告的权限级别](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories) +- [在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability) +- [从存储库安全通告删除协作者](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory)。 diff --git a/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md new file mode 100644 index 0000000000..89e90fa3c0 --- /dev/null +++ b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md @@ -0,0 +1,91 @@ +--- +title: 在临时专用分支中协作以解决存储库安全漏洞 +intro: 您可以创建临时私有复刻,以私下协作修复仓库中的安全漏洞。 +redirect_from: + - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration + - Forks +shortTitle: Temporary private forks +ms.openlocfilehash: c5d4f5f8b58498f995a473b4c0c0f3c38ea96083 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113993' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +## 先决条件 + +在临时私有复刻中进行协作之前,必须创建维护员通告草稿。 有关详细信息,请参阅“[创建存储库安全通告](/code-security/repository-security-advisories/creating-a-repository-security-advisory)”。 + +## 创建临时私有复刻 + +任何对安全通告有管理权限的人都可以创建临时私有复刻。 + +为保证漏洞相关信息的安全,集成系统(包括 CI)无法访问临时私有复刻。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要在其中创建临时私有复刻的安全通告。 + ![列表中的安全通告](/assets/images/help/security/security-advisory-in-list.png) +5. 单击“新建临时专用分支”。 + ![“新建临时专用分支”按钮](/assets/images/help/security/new-temporary-private-fork-button.png) + +## 将协作者添加到临时私有复刻 + +对安全通告具有管理员权限的任何人都可以向安全通告添加其他协作者,而安全通告的协作者可以访问临时私有复刻。 有关详细信息,请参阅“[将协作者添加到存储库安全通告](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)”。 + +## 将更改添加到临时私有复刻 + +任何对安全通告有写入权限的人都可以向临时私有复刻添加更改。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要向其添加更改的安全通告。 + ![列表中的安全通告](/assets/images/help/security/security-advisory-in-list.png) +5. 在 {% data variables.product.product_name %} 上或在本地添加更改: + - 若要在 {% data variables.product.product_name %} 上添加更改,请在“向此通告添加更改”下单击“临时专用分支”。 然后,创建新分支并编辑文件。 有关详细信息,请参阅“[在存储库中创建和删除分支](/articles/creating-and-deleting-branches-within-your-repository)”和“[编辑文件](/repositories/working-with-files/managing-files/editing-files)”。 + - 要在本地添加更改,请按照“克隆并创建新分支”和“进行更改,然后推送”下的说明进行操作。 + ![“向此通告添加更改”框](/assets/images/help/security/add-changes-to-this-advisory-box.png) + +## 从临时私有复刻创建拉取请求 + +任何对安全通告有写入权限的人都可以从临时私有复刻创建拉取请求。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要在其中创建拉取请求的安全通告。 + ![列表中的安全通告](/assets/images/help/security/security-advisory-in-list.png) +5. 在分支名称的右侧,单击“比较和拉取请求”。 + ![“比较和拉取请求”按钮](/assets/images/help/security/security-advisory-compare-and-pr.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.merge-all-pulls-together %} 有关详细信息,请参阅“[合并安全通告中的更改](#merging-changes-in-a-security-advisory)”。 + +## 合并安全通告中的更改 + +对安全通告具有管理员权限的任何人都可合并安全通告中的更改。 + +{% data reusables.repositories.merge-all-pulls-together %} + +在合并安全通告中的更改之前,临时私有复刻中每个打开的拉取请求必须为可合并状态。 不存在合并冲突,并且必须满足分支保护要求。 为保证漏洞相关信息的安全,不在临时私有复刻的拉取请求上运行状态检查。 有关详细信息,请参阅“[关于受保护的分支](/articles/about-protected-branches)”。 + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要合并其更改的安全通告。 + ![列表中的安全通告](/assets/images/help/security/security-advisory-in-list.png) +5. 若要合并临时专用分支中所有打开的拉取请求,请单击“合并拉取请求”。 + ![“合并拉取请求”按钮](/assets/images/help/security/merge-pull-requests-button.png) + +合并安全通告中的更改后,您可以发布安全通告,以提醒您的社区有关项目早期版本中安全漏洞的信息。 有关详细信息,请参阅“[发布存储库安全通告](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)”。 + +## 延伸阅读 + +- “[存储库安全通告的权限级别](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories)” +- “[发布存储库安全通告](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)” diff --git a/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md new file mode 100644 index 0000000000..aac14ab00e --- /dev/null +++ b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md @@ -0,0 +1,51 @@ +--- +title: 存储库安全公告的权限级别 +intro: 你在存储库安全公告中可以执行的操作取决于你是公告的管理员还是对其有写入权限。 +redirect_from: + - /articles/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories + - /code-security/security-advisories/permission-levels-for-security-advisories + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Security advisories + - Vulnerabilities + - Permissions +shortTitle: Permission levels +ms.openlocfilehash: f4195822de121780f1629fda3d646170d4c4e566 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113994' +--- +本文仅适用于存储库级别的安全公告。 任何人都可以在 [github.com/advisories](https://github.com/advisories) 上的 {% data variables.product.prodname_advisory_database %} 中提供全局安全公告内容。 对全局公告的编辑不会改变或影响公告在存储库中的显示方式。 有关详细信息,请参阅“[在 {% data variables.product.prodname_advisory_database %} 中编辑安全公告](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)”。 + +## 权限概述 + +{% data reusables.repositories.security-advisory-admin-permissions %} 有关将协作者添加到安全公告的详细信息,请参阅“[将协作者添加到存储库安全公告](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)”。 + +操作 | 写入权限 | 管理员权限 | +------ | ----------------- | ----------------- | +查看安全通告草稿 | X | X | +将协作者添加到安全公告(请参阅“[将协作者添加到存储库安全公告](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)”) | | X | +编辑和删除安全通告中的任何评论 | X | X | +在安全公告中创建临时专用分支(请参阅“[在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)”) | | X | +在安全公告中添加对临时专用分支的更改(请参阅“[在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)”) | X | X | +在临时专用分支中创建拉取请求(请参阅“[在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)”) | X | X | +合并安全公告中的更改(请参阅“[在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)”) | | X | +在安全公告中添加和编辑元数据(请参阅“[发布存储库安全公告](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)”) | X | X | +添加和删除安全公告的积分(请参阅“[编辑存储库安全公告](/code-security/repository-security-advisories/editing-a-repository-security-advisory)”) | X | X | +关闭安全通告草稿 | | X | +发布安全公告(请参阅“[发布存储库安全公告](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)”) | | X | + +## 延伸阅读 + +- [将协作者添加到存储库安全公告](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory) +- [在临时专用分支中协作以解决存储库安全漏洞](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability) +- [从存储库安全公告删除协作者](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory) +- [撤消存储库安全公告](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory) diff --git a/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md new file mode 100644 index 0000000000..8395d24322 --- /dev/null +++ b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md @@ -0,0 +1,43 @@ +--- +title: 删除存储库安全公告中的协作者 +intro: 协作者从存储库安全公告中删除后,将失去对安全公告的讨论和元数据的读取和写入权限。 +redirect_from: + - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory + - /code-security/security-advisories/removing-a-collaborator-from-a-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Remove collaborators +ms.openlocfilehash: 77c21bea9c593935ee1b92028fc52859320f5a38 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113991' +--- +对安全通告具有管理员权限的人员可从安全通告删除协作者。 + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## 从安全通告删除协作者 + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. 在“Security Advisories(安全通告)”列表中,单击要从中删除协作者的安全通告。 + ![列表中的安全公告](/assets/images/help/security/security-advisory-in-list.png) +5. 在页面右侧的“Collaborators(协作者)”下,键入要从安全通告删除的用户或团队名称。 + ![安全公告协作者](/assets/images/help/security/security-advisory-collaborator.png) +6. 在要移除的协作者旁边,单击“X”图标。 + ![用于删除安全公告协作者的 X 图标](/assets/images/help/security/security-advisory-remove-collaborator-x.png) + +## 延伸阅读 + +- [存储库安全公告的权限级别](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories) +- [将协作者添加到存储库安全公告](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory) diff --git a/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md new file mode 100644 index 0000000000..b997f9fcc2 --- /dev/null +++ b/translations/zh-CN/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md @@ -0,0 +1,29 @@ +--- +title: 撤销存储库安全通告 +intro: 你可以撤销已发布的存储库安全公告。 +redirect_from: + - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory + - /code-security/security-advisories/withdrawing-a-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Withdraw repository advisories +ms.openlocfilehash: 71a6560c463384b032546b824e5f4294ced568e5 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113980' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +如果错误地发布了安全通告,可以联系 {% data variables.contact.contact_support %} 撤销。 + +## 延伸阅读 + +- “[编辑存储库安全通告](/code-security/repository-security-advisories/editing-a-repository-security-advisory)” diff --git a/translations/zh-CN/content/codespaces/guides.md b/translations/zh-CN/content/codespaces/guides.md index 0d4b1d4901..4378542b87 100644 --- a/translations/zh-CN/content/codespaces/guides.md +++ b/translations/zh-CN/content/codespaces/guides.md @@ -55,11 +55,11 @@ includeGuides: - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces - /codespaces/codespaces-reference/disaster-recovery-for-codespaces - /codespaces/codespaces-reference/security-in-codespaces -ms.openlocfilehash: 54ba7cc4fbacd536f0438626281d1b59252eb3f1 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 24bf08da053efd9f822b1eb43bacbbe822c1ba8b +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: zh-CN -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783109' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113895' --- diff --git a/translations/zh-CN/content/codespaces/setting-up-your-project-for-codespaces/index.md b/translations/zh-CN/content/codespaces/setting-up-your-project-for-codespaces/index.md index 6ddb3c1ba5..e8c4b6cd24 100644 --- a/translations/zh-CN/content/codespaces/setting-up-your-project-for-codespaces/index.md +++ b/translations/zh-CN/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -19,11 +19,11 @@ children: - /setting-a-minimum-specification-for-codespace-machines - /automatically-opening-files-in-the-codespaces-for-a-repository - /adding-a-codespaces-badge -ms.openlocfilehash: 1e172243dc351f0a173c8624b66914e1c3795495 -ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.openlocfilehash: 4649ef4e36dff0b37d4a579ecd56bbb0edd2a184 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 ms.translationtype: HT ms.contentlocale: zh-CN -ms.lasthandoff: 09/09/2022 -ms.locfileid: '147783037' +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113986' --- diff --git a/translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md index 530d320471..7a6fcdc772 100644 --- a/translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md +++ b/translations/zh-CN/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -1,6 +1,6 @@ --- -title: 关于 Git Large File Storage -intro: '{% data variables.product.product_name %} 限制存储库中允许的文件大小。 要跟踪超出此限制的文件,您可以使用 {% data variables.large_files.product_name_long %}。' +title: About Git Large File Storage +intro: '{% data variables.product.product_name %} limits the size of files allowed in repositories. To track files beyond this limit, you can use {% data variables.large_files.product_name_long %}.' redirect_from: - /articles/about-large-file-storage - /articles/about-git-large-file-storage @@ -12,35 +12,33 @@ versions: ghae: '*' ghec: '*' shortTitle: Git Large File Storage -ms.openlocfilehash: af198fe13f69fc4768178aea74a03f27a82ec20b -ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d -ms.translationtype: HT -ms.contentlocale: zh-CN -ms.lasthandoff: 09/10/2022 -ms.locfileid: '145129252' --- -## 关于 {% data variables.large_files.product_name_long %} -{% data variables.large_files.product_name_short %} 处理大文件的方式是存储对仓库中文件的引用,而不实际文件本身。 为满足 Git 的架构要求,{% data variables.large_files.product_name_short %} 创建了“指针文件”,充当对实际文件(存储在其他位置)的引用。 {% data variables.product.product_name %} 在仓库中管理此指针文件。 克隆仓库时,{% data variables.product.product_name %} 使用指针文件作为映射来查找大文件。 +## About {% data variables.large_files.product_name_long %} -{% ifversion fpt or ghec %} 使用 {% data variables.large_files.product_name_short %},可以将文件存储到: +{% data variables.large_files.product_name_short %} handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, {% data variables.large_files.product_name_short %} creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). {% data variables.product.product_name %} manages this pointer file in your repository. When you clone the repository down, {% data variables.product.product_name %} uses the pointer file as a map to go and find the large file for you. -| 产品 | 文件大小上限 | +{% ifversion fpt or ghec %} +Using {% data variables.large_files.product_name_short %}, you can store files up to: + +| Product | Maximum file size | |------- | ------- | | {% data variables.product.prodname_free_user %} | 2 GB | | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -使用 {% data variables.large_files.product_name_short %},可在仓库中存储最大 5 GB 的文件。 -{% endif %} +Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. +{% endif %} -您也可以将 {% data variables.large_files.product_name_short %} 与 {% data variables.product.prodname_desktop %} 结合使用。 有关在 {% data variables.product.prodname_desktop %} 中克隆 Git LFS 存储库的详细信息,请参阅“[将存储库从 GitHub 克隆到 GitHub 桌面](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)”。 +{% data reusables.repositories.git-lfs %} + +You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." {% data reusables.large_files.can-include-lfs-objects-archives %} -## 指针文件格式 +## Pointer file format -{% data variables.large_files.product_name_short %} 的指针文件看起来像: +{% data variables.large_files.product_name_short %}'s pointer file looks like this: ``` version {% data variables.large_files.version_name %} @@ -48,16 +46,16 @@ oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5 size 84977953 ``` -它会跟踪所用 {% data variables.large_files.product_name_short %} 的 `version`,后接文件的唯一标识符 (`oid`)。 它还会存储最终文件的 `size`。 +It tracks the `version` of {% data variables.large_files.product_name_short %} you're using, followed by a unique identifier for the file (`oid`). It also stores the `size` of the final file. {% note %} -**注释**: -- {% data variables.large_files.product_name_short %} 不能用于 {% data variables.product.prodname_pages %} 站点。 -- {% data variables.large_files.product_name_short %} 不能用于模板仓库。 +**Notes**: +- {% data variables.large_files.product_name_short %} cannot be used with {% data variables.product.prodname_pages %} sites. +- {% data variables.large_files.product_name_short %} cannot be used with template repositories. {% endnote %} -## 延伸阅读 +## Further reading -- [与 {% data variables.large_files.product_name_long %} 协作](/articles/collaboration-with-git-large-file-storage) +- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage)" diff --git a/translations/zh-CN/content/rest/guides/traversing-with-pagination.md b/translations/zh-CN/content/rest/guides/traversing-with-pagination.md index ed7f9b1189..f47cd8dbbf 100644 --- a/translations/zh-CN/content/rest/guides/traversing-with-pagination.md +++ b/translations/zh-CN/content/rest/guides/traversing-with-pagination.md @@ -12,6 +12,7 @@ versions: topics: - API shortTitle: Traverse with pagination +miniTocMaxHeadingLevel: 3 --- The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API provides a vast wealth of information for developers to consume. @@ -24,10 +25,13 @@ in the [platform-samples][platform samples] repository. {% data reusables.rest-api.dotcom-only-guide-note %} + + ## Basics of Pagination To start with, it's important to know a few facts about receiving paginated items: + 1. Different API calls respond with different defaults. For example, a call to [List public repositories](/rest/reference/repos#list-public-repositories) provides paginated items in sets of 30, whereas a call to the GitHub Search API @@ -37,55 +41,127 @@ provides items in sets of 100 [events](/rest/reference/activity#events) won't let you set a maximum for items to receive. Be sure to read the documentation on how to handle paginated results for specific endpoints. -Information about pagination is provided in [the Link header](https://datatracker.ietf.org/doc/html/rfc5988) -of an API call. For example, let's make a curl request to the search API, to find -out how many times Mozilla projects use the phrase `addClass`: +{% note %} + +**Note**: You should always rely on URLs included in the link header. Don't try to guess or construct your own URLs. + +{% endnote %} + + +### Link header + +The response header includes information about pagination. For more information about headers, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#about-the-response-code-and-headers)." To get the response header, include the `-I` flag in your request. For example: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/advacado-corp/audit-log -```shell -$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla" ``` -The `-I` parameter indicates that we only care about the headers, not the actual -content. In examining the result, you'll notice some information in the Link header -that looks like this: +The `-I` flag returns only the response header. If the response is paginated, the response header will include a `link` header. The header will look something like this: - Link: ; rel="next", - ; rel="last" +``` +link: ; rel="next" +``` -Let's break that down. `rel="next"` says that the next page is `page=2`. This makes -sense, since by default, all paginated queries start at page `1.` `rel="last"` -provides some more information, stating that the last page of results is on page `34`. -Thus, we have 33 more pages of information about `addClass` that we can consume. -Nice! +or -**Always** rely on these link relations provided to you. Don't try to guess or construct your own URL. +``` +link: ; rel="next", ; rel="last" +``` +### Types of pagination -### Navigating through the pages +{% data variables.product.company_short %}'s API uses two pagination methods: page-based pagination and cursor-based pagination. If the `link` header includes `page`, then the operation uses page-based pagination. If the `link` header includes `before` and `after`, then the operation uses cursor-based pagination. -Now that you know how many pages there are to receive, you can start navigating -through the pages to consume the results. You do this by passing in a `page` -parameter. By default, `page` always starts at `1`. Let's jump ahead to page 14 -and see what happens: + +#### Page based pagination + +The link header for page-based pagination will tell you information about the previous, next, first, and last pages. If you did not request a specific page, then the response will default to the first page and information about the first and previous pages will be omitted. + +For example, for a request that did not specify a page, this header states that the next page is `2` and the last page is `511`. + +``` +link: ; rel="next", ; rel="last" +``` + +For example, for a request that specified page 5, this header states that the previous page is `4`, the next page is `6`, the last page is `511`, and the first page is `1`. + +``` +link: ; rel="prev", ; rel="next", ; rel="last", ; rel="first" +``` + +#### Cursor based pagination + +Cursor pagination uses terms `before` and `after` in order to navigate through pages. `rel="next"` and `rel="prev"` this mark the cursor point in the data set and provides a reference for traveling to the page `before` and `after` the current page. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +In this example, `rel=next` says that the next page is located at: + +``` +after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + + + + +### Using pagination + +#### Cursor based pagination + +Using cursor based pagination requires you to use the terms `before` and `after`. To navigate using `before` and `after`, copy the link header generated above into your curl request: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + +The above example will generate a page of results and new header information that you can use to make the next request. `rel="next"` provides the next page of results. `rel="prev"` provides the previous page of results. The important part of the output here is the link header needs to be generated rather than manually imputed. Copy the entire link from the following output. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +Unlike page-based pagination, the results will not return the last page number in the response. + + link: ; rel="next", + ; rel="first", + ; rel="prev" + +Because cursor based pagination creates a reference point in the data set, it cannot calculate the total number of results. + + +#### Page based pagination + +To navigate using page based pagination pass in a `page` +parameter. By default, `page` always starts at `1`. In the following example, we have made a curl request to the search API Mozilla projects use the phrase `addClass`. Instead of starting at 1, lets jump to page 14. ```shell $ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&page=14" ``` -Here's the link header once more: +Here's an except of the link header in the HTTP request: Link: ; rel="next", ; rel="last", ; rel="first", ; rel="prev" -As expected, `rel="next"` is at 15, and `rel="last"` is still 34. But now we've +In this example, `rel="next"` is at 15, and `rel="last"` is 34. But now we've got some more information: `rel="first"` indicates the URL for the _first_ page, and more importantly, `rel="prev"` lets you know the page number of the previous page. Using this information, you could construct some UI that lets users jump between the first, previous, next, or last list of results in an API call. + ### Changing the number of items received +#### Page based pagination + By passing the `per_page` parameter, you can specify how many items you want each page to return, up to 100 items. Let's try asking for 50 items about `addClass`: @@ -102,6 +178,14 @@ As you might have guessed, the `rel="last"` information says that the last page is now 20. This is because we are asking for more information per page about our results. +#### Cursor based pagination + +You can also pass the `per_page` parameter for cursor-based pagination. + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=>&per_page=50 +``` + ## Consuming the information You don't want to be making low-level curl calls just to be able to work with diff --git a/translations/zh-CN/data/reusables/actions/hardware-requirements-3.6.md b/translations/zh-CN/data/reusables/actions/hardware-requirements-3.6.md deleted file mode 100644 index 7a012cf9b2..0000000000 --- a/translations/zh-CN/data/reusables/actions/hardware-requirements-3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -ms.openlocfilehash: 5c7cf10fca8efdcb186487e5de0e9a9d7e88d66b -ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 -ms.translationtype: HT -ms.contentlocale: zh-CN -ms.lasthandoff: 09/05/2022 -ms.locfileid: "147580722" ---- -| vCPU | 内存 | 最大连接运行器数量 | -| :---| :--- | :--- | -| 8 | 64 GB | 740 个运行器 | -| 32 | 160 GB | 2700 个运行器 | -| 96 | 384 GB | 7000 个运行器 | -| 128 | 512 GB | 7000 个运行器 | diff --git a/translations/zh-CN/data/reusables/codespaces/edit-devcontainer-json.md b/translations/zh-CN/data/reusables/codespaces/edit-devcontainer-json.md new file mode 100644 index 0000000000..7f13b596d0 --- /dev/null +++ b/translations/zh-CN/data/reusables/codespaces/edit-devcontainer-json.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38208812f73fda89c12d251955a1eee327ceb8db +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148113990" +--- +1. 存储库的 {% data variables.product.prodname_github_codespaces %} 在 `devcontainer.json` 文件中配置。 如果存储库尚未包含 `devcontainer.json` 文件,请立即添加一个。 请参阅“[将开发容器配置添加到存储库](/free-pro-team@latest/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)”。 \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/security-advisory/global-advisories.md b/translations/zh-CN/data/reusables/security-advisory/global-advisories.md new file mode 100644 index 0000000000..ac90e34316 --- /dev/null +++ b/translations/zh-CN/data/reusables/security-advisory/global-advisories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb874d7a6fcaa0deeb828d91f9769df69050d337 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: HT +ms.contentlocale: zh-CN +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148113956" +--- +位于 [github.com/advisories](https://github.com/advisories) 的 {% data variables.product.prodname_advisory_database %} 中的安全公告被视为全局公告。 任何人都可以对 {% data variables.product.prodname_advisory_database %} 中的任何全局安全公告提出改进建议。 可以编辑或添加任何详细信息,包括其他受影响的生态系统、严重性级别或受影响方的说明。 {% data variables.product.prodname_security %} 策展团队将评审提交的改进,并在接受后将其发布到 {% data variables.product.prodname_advisory_database %} 上。 \ No newline at end of file