├── .changeset ├── README.md └── config.json ├── .github ├── actions │ └── ci-setup │ │ └── action.yml ├── dependabot.yml └── workflows │ ├── ci.yml │ ├── release-pr.yml │ └── version-or-publish.yml ├── .gitignore ├── .node-version ├── .vscode ├── launch.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── __fixtures__ ├── ignored-package │ ├── .changeset │ │ └── config.json │ ├── package.json │ └── packages │ │ ├── pkg-a │ │ └── package.json │ │ └── pkg-b │ │ └── package.json └── simple-project │ ├── .changeset │ └── config.json │ ├── package.json │ └── packages │ ├── pkg-a │ └── package.json │ └── pkg-b │ └── package.json ├── action.yml ├── package.json ├── rollup.config.js ├── scripts ├── bump.ts ├── release-pr.ts └── release.ts ├── src ├── __snapshots__ │ ├── run.test.ts.snap │ └── utils.test.ts.snap ├── git.ts ├── index.ts ├── octokit.ts ├── readChangesetState.ts ├── run.test.ts ├── run.ts ├── utils.test.ts └── utils.ts ├── tsconfig.json ├── types └── fixturez.d.ts └── yarn.lock /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.6.2/schema.json", 3 | "changelog": [ 4 | "@changesets/changelog-github", 5 | { "repo": "changesets/action" } 6 | ], 7 | "commit": false, 8 | "linked": [], 9 | "access": "restricted", 10 | "baseBranch": "main", 11 | "updateInternalDependencies": "patch", 12 | "ignore": [] 13 | } 14 | -------------------------------------------------------------------------------- /.github/actions/ci-setup/action.yml: -------------------------------------------------------------------------------- 1 | name: Setup CI 2 | 3 | runs: 4 | using: composite 5 | steps: 6 | - name: Setup Node.js 7 | uses: actions/setup-node@v4 8 | with: 9 | node-version-file: ".node-version" 10 | cache: yarn 11 | 12 | - name: Install dependencies 13 | shell: bash 14 | run: yarn install --frozen-lockfile 15 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "npm" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | 9 | jobs: 10 | build: 11 | timeout-minutes: 20 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v4 17 | with: 18 | ref: ${{ github.event.pull_request.head.sha }} 19 | 20 | - uses: ./.github/actions/ci-setup 21 | 22 | - name: Typecheck 23 | run: yarn typecheck 24 | 25 | - name: Test 26 | run: yarn test 27 | -------------------------------------------------------------------------------- /.github/workflows/release-pr.yml: -------------------------------------------------------------------------------- 1 | name: Release PR 2 | 3 | on: 4 | issue_comment: 5 | types: [created] 6 | 7 | jobs: 8 | release_check: 9 | if: github.repository == 'changesets/action' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/release-pr') 10 | runs-on: ubuntu-latest 11 | steps: 12 | - id: report_in_progress 13 | run: | 14 | echo "in_progress_reaction_id=$(gh api /repos/${{github.repository}}/issues/comments/${{github.event.comment.id}}/reactions -f content='eyes' --jq '.id')" >> "$GITHUB_OUTPUT" 15 | env: 16 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | 18 | - id: check_authorization 19 | run: | 20 | if [[ $AUTHOR_ASSOCIATION == 'MEMBER' || $AUTHOR_ASSOCIATION == 'OWNER' || $AUTHOR_ASSOCIATION == 'COLLABORATOR' ]] 21 | then 22 | echo "User is authorized to release" 23 | else 24 | echo "User is not authorized to release" 25 | exit 1 26 | fi 27 | env: 28 | AUTHOR_ASSOCIATION: ${{ github.event.comment.author_association }} 29 | 30 | outputs: 31 | in_progress_reaction_id: ${{ steps.report_in_progress.outputs.in_progress_reaction_id }} 32 | 33 | release: 34 | if: github.repository == 'changesets/action' 35 | timeout-minutes: 20 36 | runs-on: ubuntu-latest 37 | needs: release_check 38 | steps: 39 | - uses: actions/checkout@v4 40 | - uses: ./.github/actions/ci-setup 41 | 42 | - name: Checkout pull request 43 | run: gh pr checkout ${{ github.event.issue.number }} 44 | env: 45 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 46 | 47 | - name: Check if Version Packages PR 48 | id: check_version_packages 49 | run: | 50 | echo "version_packages=$(gh pr view ${{ github.event.issue.number }} --json headRefName --jq '.headRefName|startswith("changeset-release/")')" >> "$GITHUB_OUTPUT" 51 | env: 52 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 53 | 54 | - name: Reset Version Packages PR 55 | if: steps.check_version_packages.outputs.version_packages == 'true' 56 | run: git reset --hard HEAD~1 57 | 58 | - run: yarn changeset version --snapshot pr${{ github.event.issue.number }} 59 | env: 60 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 61 | 62 | - name: Build 63 | run: yarn build 64 | 65 | - name: Setup Git user 66 | run: | 67 | git config --global user.name "github-actions[bot]" 68 | git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" 69 | 70 | - name: Release snapshot version 71 | run: yarn run release:pr 72 | 73 | - run: gh api /repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions -f content='rocket' 74 | env: 75 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 76 | 77 | - run: gh api -X DELETE /repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions/${{ needs.release_check.outputs.in_progress_reaction_id }} 78 | env: 79 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 80 | 81 | - run: gh pr comment ${{ github.event.issue.number }} --body "The [${{ github.repository }}@$(git rev-parse HEAD)](https://github.com/${{ github.repository }}/commit/$(git rev-parse HEAD)) release triggered by [this comment](${{ github.event.comment.url }}) has [succeeded](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})." 82 | env: 83 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 84 | 85 | report-failure-if-needed: 86 | needs: [release_check, release] 87 | timeout-minutes: 2 88 | runs-on: ubuntu-latest 89 | if: failure() && github.repository == 'changesets/action' && (needs.release_check.result == 'failure' || needs.release.result == 'failure') 90 | steps: 91 | - run: gh api /repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions -f content='-1' 92 | env: 93 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 94 | 95 | - run: gh api -X DELETE /repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions/${{ needs.release_check.outputs.in_progress_reaction_id }} 96 | env: 97 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 98 | 99 | - run: gh pr comment ${{ github.event.issue.number }} --body "The release triggered by [this comment](${{ github.event.comment.url }}) has [failed](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})." 100 | env: 101 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 102 | GH_REPO: ${{ github.repository }} 103 | -------------------------------------------------------------------------------- /.github/workflows/version-or-publish.yml: -------------------------------------------------------------------------------- 1 | name: Version or Publish 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | concurrency: ${{ github.workflow }}-${{ github.ref }} 9 | 10 | jobs: 11 | changesets: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: ./.github/actions/ci-setup 16 | 17 | - name: Build 18 | run: yarn build 19 | 20 | - name: Create Release Pull Request or Publish 21 | id: changesets 22 | uses: ./ 23 | with: 24 | version: yarn bump 25 | publish: yarn release 26 | env: 27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .parcel-cache 3 | .cache 4 | *.log 5 | 6 | dist/ 7 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | v22.9.0 2 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 3 | "version": "0.2.0", 4 | "configurations": [ 5 | { 6 | "type": "node", 7 | "request": "launch", 8 | "name": "Debug Current Test File", 9 | "autoAttachChildProcesses": true, 10 | "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", 11 | "args": ["run", "${relativeFile}"], 12 | "smartStep": true, 13 | "console": "integratedTerminal" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib" 3 | } 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @changesets/action 2 | 3 | ## 1.5.3 4 | 5 | ### Patch Changes 6 | 7 | - [#477](https://github.com/changesets/action/pull/477) [`9d933dc`](https://github.com/changesets/action/commit/9d933dcd11c284ac49a835db884c3c1008b2b96f) Thanks [@Andarist](https://github.com/Andarist)! - Updated `@actions/*` and `@octokit/*` dependencies. 8 | 9 | - [#479](https://github.com/changesets/action/pull/479) [`cf373e4`](https://github.com/changesets/action/commit/cf373e45c90a0cc564cd2770de3e9a3a4cdd4603) Thanks [@Andarist](https://github.com/Andarist)! - Switched to `esbuild` for bundling the dist file. This led to 45% file size reduction. 10 | 11 | - [#488](https://github.com/changesets/action/pull/488) [`022692b`](https://github.com/changesets/action/commit/022692ba027b33bf46d4d41907a317fbf04461a7) Thanks [@s0](https://github.com/s0)! - Fix PRs sometimes not getting reopened with `commitMode: github-api` 12 | 13 | There was a race-condition that means sometimes existing PRs would not be found, 14 | and new PRs would be opened. This has now been fixed by fetching existing PRs 15 | before making any changes. 16 | 17 | - [#486](https://github.com/changesets/action/pull/486) [`7ed1955`](https://github.com/changesets/action/commit/7ed195554624ebd75c08aa477b53110f61cc78f7) Thanks [@s0](https://github.com/s0)! - Fixed situations in which `cwd` was specified as a relative path and used with (default) `commitMode: git-cli` 18 | 19 | - [#461](https://github.com/changesets/action/pull/461) [`e9c36b6`](https://github.com/changesets/action/commit/e9c36b696406360bf04204ad32e3dcf3ad752b77) Thanks [@nayounsang](https://github.com/nayounsang)! - Avoid hitting a deprecation warning when encountering errors from `@octokit/request-error` 20 | 21 | ## 1.5.2 22 | 23 | ### Patch Changes 24 | 25 | - [#473](https://github.com/changesets/action/pull/473) [`3c24abe`](https://github.com/changesets/action/commit/3c24abeab26da6335c181222faa2ea485a092cf8) Thanks [@s0](https://github.com/s0)! - Make git add work consistently with subdirectories 26 | 27 | Ensure that when running the action from a subdirectory of a repository, 28 | only the files from that directory are added, regardless of `commitMode`. 29 | 30 | ## 1.5.1 31 | 32 | ### Patch Changes 33 | 34 | - [#471](https://github.com/changesets/action/pull/471) [`15ab130`](https://github.com/changesets/action/commit/15ab1306067a396fa9ba7ad363e8a041d457782a) Thanks [@h3rmanj](https://github.com/h3rmanj)! - Bump `@changesets/ghcommit` to v1.4.0, which fixes an issue running this action in monorepos with `commitMode: github-api` 35 | 36 | - [#467](https://github.com/changesets/action/pull/467) [`6e57550`](https://github.com/changesets/action/commit/6e575506e63f9e69e475d3eccfdd61b448efc8ae) Thanks [@Vx-V](https://github.com/Vx-V)! - Avoid searching for an existing pull request early. 37 | 38 | ## 1.5.0 39 | 40 | ### Minor Changes 41 | 42 | - [#391](https://github.com/changesets/action/pull/391) [`207dc3d`](https://github.com/changesets/action/commit/207dc3da2d1907cae0454ce123935401332be72b) Thanks [@s0](https://github.com/s0)! - Introduce a new input `commitMode` that allows using the GitHub API for pushing tags and commits instead of the Git CLI. 43 | 44 | When used with `"github-api"` value all tags and commits will be attributed to the user whose GITHUB_TOKEN is used, and also signed using GitHub's internal GPG key. 45 | 46 | ## 1.4.10 47 | 48 | ### Patch Changes 49 | 50 | - [#448](https://github.com/changesets/action/pull/448) [`8b16070`](https://github.com/changesets/action/commit/8b16070fe386eed3456c83eeed9460160432cf26) Thanks [@bluwy](https://github.com/bluwy)! - Use full git email (`41898282+github-actions[bot]@users.noreply.github.com`) for github-actions bot when making commits 51 | 52 | ## 1.4.9 53 | 54 | ### Patch Changes 55 | 56 | - [#415](https://github.com/changesets/action/pull/415) [`57ab80c`](https://github.com/changesets/action/commit/57ab80c61104c270bebc125910ae32da3a5aca46) Thanks [@benmccann](https://github.com/benmccann)! - Improve error message when attempting to publish without publish script defined 57 | 58 | ## 1.4.8 59 | 60 | ### Patch Changes 61 | 62 | - [#393](https://github.com/changesets/action/pull/393) [`48ab0d2`](https://github.com/changesets/action/commit/48ab0d2f2e77ae169182d022591ef5c18c931ff2) Thanks [@s0](https://github.com/s0)! - Ensure the PR remains open when updated 63 | 64 | - [#393](https://github.com/changesets/action/pull/393) [`48ab0d2`](https://github.com/changesets/action/commit/48ab0d2f2e77ae169182d022591ef5c18c931ff2) Thanks [@s0](https://github.com/s0)! - Switch to cheaper API for querying existing PRs 65 | 66 | ## 1.4.7 67 | 68 | ### Patch Changes 69 | 70 | - [#255](https://github.com/changesets/action/pull/255) [`f2660aa`](https://github.com/changesets/action/commit/f2660aa7e78365f53dbeb4cfa774c1499ec6483a) Thanks [@ernestognw](https://github.com/ernestognw)! - Allow customize PR `branch` field 71 | 72 | ## 1.4.6 73 | 74 | ### Patch Changes 75 | 76 | - [#350](https://github.com/changesets/action/pull/350) [`9385be9`](https://github.com/changesets/action/commit/9385be9e757839189ea5ee63ec4e3caa8a6ca71b) Thanks [@m-shaka](https://github.com/m-shaka)! - Bump the used node.js from 16 to 20 77 | 78 | ## 1.4.5 79 | 80 | ### Patch Changes 81 | 82 | - [#282](https://github.com/changesets/action/pull/282) [`eb19e25`](https://github.com/changesets/action/commit/eb19e25e7797cf33dc2de4caa071e85a8057a0f0) Thanks [@mark-omarov](https://github.com/mark-omarov)! - Updated a few dependencies to patch the security vulnerabilities that were reported for their older versions. 83 | 84 | ## 1.4.4 85 | 86 | ### Patch Changes 87 | 88 | - [#291](https://github.com/changesets/action/pull/291) [`db8a109`](https://github.com/changesets/action/commit/db8a1099bc0ba1dd6f46a5b9df4212e4f69e78c9) Thanks [@varl](https://github.com/varl)! - Wire up [`@octokit/plugin-throttling`](https://github.com/octokit/plugin-throttling.js) with all GitHub Octokit instances 89 | 90 | ## 1.4.3 91 | 92 | ### Patch Changes 93 | 94 | - [#289](https://github.com/changesets/action/pull/289) [`8b28186`](https://github.com/changesets/action/commit/8b2818674de86a7fc69aebb9ed6b486ee32eb96e) Thanks [@varl](https://github.com/varl)! - Use logging provided by `@actions/core` 95 | 96 | ## 1.4.2 97 | 98 | ### Patch Changes 99 | 100 | - [#286](https://github.com/changesets/action/pull/286) [`225a1e8`](https://github.com/changesets/action/commit/225a1e8cbcabb7b585174ba0ad806549db40d4cd) Thanks [@varl](https://github.com/varl)! - This patch implements the [`@octokit/plugin-throttling`](https://github.com/octokit/plugin-throttling.js) plugin and [wires 101 | it up with the internal GitHub Octokit instance](https://github.com/actions/toolkit/tree/457303960f03375db6f033e214b9f90d79c3fe5c/packages/github#extending-the-octokit-instance). 102 | 103 | This plugin is recommended by [the Octokit docs](://octokit.github.io/rest.js/v19#throttling) as it implements all the GitHub [best practices for integrators](https://docs.github.com/en/rest/guides/best-practices-for-integrators?apiVersion=2022-11-28). 104 | 105 | This should help with `changesets/action` gitting spurious secondary rate limits and failing CI jobs, for which the only known workaround is to simply re-run the job. 106 | 107 | ## 1.4.1 108 | 109 | ### Patch Changes 110 | 111 | - [#123](https://github.com/changesets/action/pull/123) [`b78f480`](https://github.com/changesets/action/commit/b78f48099899f0a853c5d9cd3feb21a5440babbd) Thanks [@Andarist](https://github.com/Andarist)! - Updated `@actions/*` dependencies to avoid using deprecated features of the runner. 112 | 113 | ## 1.4.0 114 | 115 | ### Minor Changes 116 | 117 | - [#216](https://github.com/changesets/action/pull/216) [`398d7ed`](https://github.com/changesets/action/commit/398d7ed) Thanks [@quinnjn](https://github.com/quinnjn)! - Execute action with node16 instead of node12. 118 | 119 | ### Patch Changes 120 | 121 | - [#228](https://github.com/changesets/action/pull/228) [`bff53cc`](https://github.com/changesets/action/commit/bff53cc50c1ebb33f8f558f9de2e0eb9a99230c6) Thanks [@iansan5653](https://github.com/iansan5653)! - Add `is:pull-request` to search query when looking for existing PR. This fixes an issue with user-owned PATs. 122 | 123 | * [#206](https://github.com/changesets/action/pull/206) [`8c3f5f5`](https://github.com/changesets/action/commit/8c3f5f5637a95a2327e78d5dabcf357978aedcbb) Thanks [@glasser](https://github.com/glasser)! - Skip creating a PR when all existing changesets are empty. 124 | 125 | ## 1.3.0 126 | 127 | ### Minor Changes 128 | 129 | - [#167](https://github.com/changesets/action/pull/167) [`993a0a0`](https://github.com/changesets/action/commit/993a0a090df78cee07481d3886dcd8b29deb9567) Thanks [@dmregister](https://github.com/dmregister)! - Added `pullRequestNumber` to the action's outputs 130 | 131 | ### Patch Changes 132 | 133 | - [#157](https://github.com/changesets/action/pull/157) [`521c27b`](https://github.com/changesets/action/commit/521c27bf86ec53547d6a350d208fbbbc9d576fbc) Thanks [@emmenko](https://github.com/emmenko)! - Automatically adjust GitHub PR message if it exceeds a size limit of 60k characters by omitting some of the changelog information. 134 | 135 | ## 1.2.2 136 | 137 | ### Patch Changes 138 | 139 | - [#161](https://github.com/changesets/action/pull/161) [`52c9ce7`](https://github.com/changesets/action/commit/52c9ce75d9d8a14ea2d75e4157b0c15b7a4ac313) Thanks [@bicknellr](https://github.com/bicknellr)! - Change directory to `cwd` before running git user setup. This fixes an issue when the action starts its execution not in a git repository. 140 | 141 | ## 1.2.1 142 | 143 | ### Patch Changes 144 | 145 | - [#144](https://github.com/changesets/action/pull/144) [`898d125`](https://github.com/changesets/action/commit/898d125cee6ba00c6a11b6cadca512752c6c910c) Thanks [@Andarist](https://github.com/Andarist)! - Updated all Changesets dependencies. This should fix parsing issues for completely empty summaries that has been fixed in `@changesets/parse@0.3.11`. 146 | 147 | ## 1.2.0 148 | 149 | ### Minor Changes 150 | 151 | - [#130](https://github.com/changesets/action/pull/130) [`5c0997b`](https://github.com/changesets/action/commit/5c0997b25e175ecf5e1723ba07210bbcea5d92fb) Thanks [@akphi](https://github.com/akphi)! - Added `createGithubReleases` input option (defaults to `true`) to control whether to create Github releases during publish or not. 152 | 153 | * [#134](https://github.com/changesets/action/pull/134) [`1ed9bc2`](https://github.com/changesets/action/commit/1ed9bc24b7a56462c183eb815c8f4bdf0e2e5785) Thanks [@dmregister](https://github.com/dmregister)! - Added `cwd` input option that can be used in projects that are not in the root directory. 154 | 155 | ## 1.1.0 156 | 157 | ### Minor Changes 158 | 159 | - [#128](https://github.com/changesets/action/pull/128) [`1937303`](https://github.com/changesets/action/commit/19373036c4bad4b0183344b6f2623a3b0e42da6c) Thanks [@dhruvdutt](https://github.com/dhruvdutt)! - Setup the git user in the local config instead of the global one. 160 | 161 | * [#131](https://github.com/changesets/action/pull/131) [`d3db9ec`](https://github.com/changesets/action/commit/d3db9eceaf41d42c56d5370d504c86851627188f) Thanks [@jacklesliewise](https://github.com/jacklesliewise)! - Added `setupGitUser` option to enable or disable setting up a default git user 162 | 163 | ## 1.0.0 164 | 165 | ### Major Changes 166 | 167 | - [#118](https://github.com/changesets/action/pull/118) [`05c863d`](https://github.com/changesets/action/commit/05c863d3f980125585016a593b5cb45b27d19c2c) Thanks [@Andarist](https://github.com/Andarist)! - From now on this action will be released using the Changesets-based workflow (using itself). Thanks to that we'll have a good release history. The users will be able to find specific versions of the action and will be able to track changes over time. It also improves the security as the build artifact will always get built in the CI environment, using a frozen lockfile. 168 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Changesets team and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Changesets Release Action 2 | 3 | This action for [Changesets](https://github.com/changesets/changesets) creates a pull request with all of the package versions updated and changelogs updated and when there are new changesets on [your configured `baseBranch`](https://github.com/changesets/changesets/blob/main/docs/config-file-options.md#basebranch-git-branch-name), the PR will be updated. When you're ready, you can merge the pull request and you can either publish the packages to npm manually or setup the action to do it for you. 4 | 5 | ## Usage 6 | 7 | ### Inputs 8 | 9 | - publish - The command to use to build and publish packages 10 | - version - The command to update version, edit CHANGELOG, read and delete changesets. Default to `changeset version` if not provided 11 | - commit - The commit message to use. Default to `Version Packages` 12 | - title - The pull request title. Default to `Version Packages` 13 | - setupGitUser - Sets up the git user for commits as `"github-actions[bot]"`. Default to `true` 14 | - createGithubReleases - A boolean value to indicate whether to create Github releases after `publish` or not. Default to `true` 15 | - commitMode - Specifies the commit mode. Use `"git-cli"` to push changes using the Git CLI, or `"github-api"` to push changes via the GitHub API. When using `"github-api"`, all commits and tags are GPG-signed and attributed to the user or app who owns the `GITHUB_TOKEN`. Default to `git-cli`. 16 | - cwd - Changes node's `process.cwd()` if the project is not located on the root. Default to `process.cwd()` 17 | 18 | ### Outputs 19 | 20 | - published - A boolean value to indicate whether a publishing has happened or not 21 | - publishedPackages - A JSON array to present the published packages. The format is `[{"name": "@xx/xx", "version": "1.2.0"}, {"name": "@xx/xy", "version": "0.8.9"}]` 22 | 23 | ### Example workflow: 24 | 25 | #### Without Publishing 26 | 27 | Create a file at `.github/workflows/release.yml` with the following content. 28 | 29 | ```yml 30 | name: Release 31 | 32 | on: 33 | push: 34 | branches: 35 | - main 36 | 37 | concurrency: ${{ github.workflow }}-${{ github.ref }} 38 | 39 | jobs: 40 | release: 41 | name: Release 42 | runs-on: ubuntu-latest 43 | steps: 44 | - name: Checkout Repo 45 | uses: actions/checkout@v3 46 | 47 | - name: Setup Node.js 20 48 | uses: actions/setup-node@v3 49 | with: 50 | node-version: 20 51 | 52 | - name: Install Dependencies 53 | run: yarn 54 | 55 | - name: Create Release Pull Request 56 | uses: changesets/action@v1 57 | env: 58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 59 | ``` 60 | 61 | #### With Publishing 62 | 63 | Before you can setup this action with publishing, you'll need to have an [npm token](https://docs.npmjs.com/creating-and-viewing-authentication-tokens) that can publish the packages in the repo you're setting up the action for and doesn't have 2FA on publish enabled ([2FA on auth can be enabled](https://docs.npmjs.com/about-two-factor-authentication)). You'll also need to [add it as a secret on your GitHub repo](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables) with the name `NPM_TOKEN`. Once you've done that, you can create a file at `.github/workflows/release.yml` with the following content. 64 | 65 | ```yml 66 | name: Release 67 | 68 | on: 69 | push: 70 | branches: 71 | - main 72 | 73 | concurrency: ${{ github.workflow }}-${{ github.ref }} 74 | 75 | jobs: 76 | release: 77 | name: Release 78 | runs-on: ubuntu-latest 79 | steps: 80 | - name: Checkout Repo 81 | uses: actions/checkout@v3 82 | 83 | - name: Setup Node.js 20.x 84 | uses: actions/setup-node@v3 85 | with: 86 | node-version: 20.x 87 | 88 | - name: Install Dependencies 89 | run: yarn 90 | 91 | - name: Create Release Pull Request or Publish to npm 92 | id: changesets 93 | uses: changesets/action@v1 94 | with: 95 | # This expects you to have a script called release which does a build for your packages and calls changeset publish 96 | publish: yarn release 97 | env: 98 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 99 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 100 | 101 | - name: Send a Slack notification if a publish happens 102 | if: steps.changesets.outputs.published == 'true' 103 | # You can do something when a publish happens. 104 | run: my-slack-bot send-notification --message "A new version of ${GITHUB_REPOSITORY} was published!" 105 | ``` 106 | 107 | By default the GitHub Action creates a `.npmrc` file with the following content: 108 | 109 | ``` 110 | //registry.npmjs.org/:_authToken=${process.env.NPM_TOKEN} 111 | ``` 112 | 113 | However, if a `.npmrc` file is found, the GitHub Action does not recreate the file. This is useful if you need to configure the `.npmrc` file on your own. 114 | For example, you can add a step before running the Changesets GitHub Action: 115 | 116 | ```yml 117 | - name: Creating .npmrc 118 | run: | 119 | cat << EOF > "$HOME/.npmrc" 120 | //registry.npmjs.org/:_authToken=$NPM_TOKEN 121 | EOF 122 | env: 123 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 124 | ``` 125 | 126 | #### Custom Publishing 127 | 128 | If you want to hook into when publishing should occur but have your own publishing functionality, you can utilize the `hasChangesets` output. 129 | 130 | Note that you might need to account for things already being published in your script because a commit without any new changesets can always land on your base branch after a successful publish. In such a case you need to figure out on your own how to skip over the actual publishing logic or handle errors gracefully as most package registries won't allow you to publish over already published version. 131 | 132 | ```yml 133 | name: Release 134 | 135 | on: 136 | push: 137 | branches: 138 | - main 139 | 140 | jobs: 141 | release: 142 | name: Release 143 | runs-on: ubuntu-latest 144 | steps: 145 | - name: Checkout Repo 146 | uses: actions/checkout@v3 147 | 148 | - name: Setup Node.js 20.x 149 | uses: actions/setup-node@v3 150 | with: 151 | node-version: 20.x 152 | 153 | - name: Install Dependencies 154 | run: yarn 155 | 156 | - name: Create Release Pull Request or Publish to npm 157 | id: changesets 158 | uses: changesets/action@v1 159 | env: 160 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 161 | 162 | - name: Publish 163 | if: steps.changesets.outputs.hasChangesets == 'false' 164 | # You can do something when a publish should happen. 165 | run: yarn publish 166 | ``` 167 | 168 | #### With version script 169 | 170 | If you need to add additional logic to the version command, you can do so by using a version script. 171 | 172 | If the version script is present, this action will run that script instead of `changeset version`, so please make sure that your script calls `changeset version` at some point. All the changes made by the script will be included in the PR. 173 | 174 | ```yml 175 | name: Release 176 | 177 | on: 178 | push: 179 | branches: 180 | - main 181 | 182 | concurrency: ${{ github.workflow }}-${{ github.ref }} 183 | 184 | jobs: 185 | release: 186 | name: Release 187 | runs-on: ubuntu-latest 188 | steps: 189 | - name: Checkout Repo 190 | uses: actions/checkout@v3 191 | 192 | - name: Setup Node.js 20.x 193 | uses: actions/setup-node@v3 194 | with: 195 | node-version: 20.x 196 | 197 | - name: Install Dependencies 198 | run: yarn 199 | 200 | - name: Create Release Pull Request 201 | uses: changesets/action@v1 202 | with: 203 | # this expects you to have a npm script called version that runs some logic and then calls `changeset version`. 204 | version: yarn version 205 | env: 206 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 207 | ``` 208 | 209 | #### With Yarn 2 / Plug'n'Play 210 | 211 | If you are using [Yarn Plug'n'Play](https://yarnpkg.com/features/pnp), you should use a custom `version` command so that the action can resolve the `changeset` CLI: 212 | 213 | ```yaml 214 | - uses: changesets/action@v1 215 | with: 216 | version: yarn changeset version 217 | ... 218 | ``` 219 | -------------------------------------------------------------------------------- /__fixtures__/ignored-package/.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json", 3 | "ignore": ["ignored-package-pkg-a"] 4 | } 5 | -------------------------------------------------------------------------------- /__fixtures__/ignored-package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "ignored-package", 4 | "version": "1.0.0", 5 | "workspaces": [ 6 | "packages/*" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/ignored-package/packages/pkg-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ignored-package-pkg-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "ignored-package-pkg-b": "1.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /__fixtures__/ignored-package/packages/pkg-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ignored-package-pkg-b", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /__fixtures__/simple-project/.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json" 3 | } 4 | -------------------------------------------------------------------------------- /__fixtures__/simple-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "simple-project", 4 | "version": "1.0.0", 5 | "workspaces": [ 6 | "packages/*" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/simple-project/packages/pkg-a/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple-project-pkg-a", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "simple-project-pkg-b": "1.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /__fixtures__/simple-project/packages/pkg-b/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple-project-pkg-b", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: Changesets 2 | description: A GitHub action to automate releases with Changesets 3 | runs: 4 | using: "node20" 5 | main: "dist/index.js" 6 | inputs: 7 | publish: 8 | description: "The command to use to build and publish packages" 9 | required: false 10 | version: 11 | description: "The command to update version, edit CHANGELOG, read and delete changesets. Default to `changeset version` if not provided" 12 | required: false 13 | cwd: 14 | description: Sets the cwd for the node process. Default to `process.cwd()` 15 | required: false 16 | commit: 17 | description: | 18 | The commit message. Default to `Version Packages` 19 | required: false 20 | title: 21 | description: The pull request title. Default to `Version Packages` 22 | required: false 23 | setupGitUser: 24 | description: Sets up the git user for commits as `"github-actions[bot]"`. Default to `true` 25 | required: false 26 | default: true 27 | createGithubReleases: 28 | description: "A boolean value to indicate whether to create Github releases after `publish` or not" 29 | required: false 30 | default: true 31 | commitMode: 32 | description: > 33 | An enum to specify the commit mode. Use "git-cli" to push changes using the Git CLI, 34 | or "github-api" to push changes via the GitHub API. When using "github-api", 35 | all commits and tags are signed using GitHub's GPG key and attributed to the user 36 | or app who owns the GITHUB_TOKEN. 37 | required: false 38 | default: "git-cli" 39 | branch: 40 | description: Sets the branch in which the action will run. Default to `github.ref_name` if not provided 41 | required: false 42 | outputs: 43 | published: 44 | description: A boolean value to indicate whether a publishing is happened or not 45 | publishedPackages: 46 | description: > 47 | A JSON array to present the published packages. The format is `[{"name": "@xx/xx", "version": "1.2.0"}, {"name": "@xx/xy", "version": "0.8.9"}]` 48 | hasChangesets: 49 | description: A boolean about whether there were changesets. Useful if you want to create your own publishing functionality. 50 | pullRequestNumber: 51 | description: The pull request number that was created or updated 52 | branding: 53 | icon: "package" 54 | color: "blue" 55 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@changesets/action", 3 | "version": "1.5.3", 4 | "main": "dist/index.js", 5 | "type": "module", 6 | "license": "MIT", 7 | "devDependencies": { 8 | "@changesets/changelog-github": "^0.5.1", 9 | "@changesets/cli": "^2.29.3", 10 | "@changesets/write": "^0.4.0", 11 | "@rollup/plugin-commonjs": "^28.0.3", 12 | "@rollup/plugin-json": "^6.1.0", 13 | "@rollup/plugin-node-resolve": "^16.0.1", 14 | "@rollup/plugin-terser": "^0.4.4", 15 | "@types/node": "^22.15.17", 16 | "@types/semver": "^7.5.0", 17 | "builtin-modules": "^5.0.0", 18 | "esbuild": "^0.25.4", 19 | "fixturez": "^1.1.0", 20 | "husky": "^3.0.3", 21 | "prettier": "^2.0.5", 22 | "rollup": "^4.40.2", 23 | "typescript": "^5.8.3", 24 | "vitest": "^3.1.3" 25 | }, 26 | "scripts": { 27 | "build": "rollup -c", 28 | "test": "vitest", 29 | "test:watch": "yarn test --watch", 30 | "typecheck": "tsc", 31 | "changeset": "changeset", 32 | "bump": "node --experimental-strip-types ./scripts/bump.ts", 33 | "release": "node --experimental-strip-types ./scripts/release.ts", 34 | "release:pr": "node --experimental-strip-types ./scripts/release-pr.ts" 35 | }, 36 | "engines": { 37 | "node": ">= 20" 38 | }, 39 | "dependencies": { 40 | "@actions/core": "^1.11.1", 41 | "@actions/exec": "^1.1.1", 42 | "@actions/github": "^6.0.1", 43 | "@changesets/ghcommit": "^2.0.0", 44 | "@changesets/pre": "^2.0.2", 45 | "@changesets/read": "^0.6.5", 46 | "@manypkg/get-packages": "^1.1.3", 47 | "@octokit/core": "^5.2.1", 48 | "@octokit/plugin-throttling": "^8.0.0", 49 | "@types/mdast": "^3.0.0", 50 | "mdast-util-to-string": "^1.0.6", 51 | "remark-parse": "^7.0.1", 52 | "remark-stringify": "^7.0.3", 53 | "semver": "^7.5.3", 54 | "unified": "^8.3.2" 55 | }, 56 | "husky": { 57 | "hooks": {} 58 | }, 59 | "prettier": {}, 60 | "resolutions": { 61 | "trim": "^0.0.3", 62 | "y18n": "^4.0.1" 63 | }, 64 | "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" 65 | } 66 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "rollup"; 2 | import commonjs from "@rollup/plugin-commonjs"; 3 | import nodeResolve from "@rollup/plugin-node-resolve"; 4 | import terser from "@rollup/plugin-terser"; 5 | import json from "@rollup/plugin-json"; 6 | import { transform } from "esbuild"; 7 | import builtinModulesList from "builtin-modules"; 8 | 9 | const builtinModules = new Set(builtinModulesList); 10 | 11 | export default defineConfig({ 12 | input: "src/index.ts", 13 | output: { 14 | dir: "dist", 15 | format: "esm", 16 | }, 17 | external: (id) => builtinModules.has(id), 18 | plugins: [ 19 | nodeResolve({ 20 | preferBuiltins: false, 21 | }), 22 | json(), 23 | commonjs(), 24 | { 25 | name: "esbuild", 26 | async transform(code, id) { 27 | if (!/\.(mts|cts|ts|tsx)$/.test(id)) { 28 | return null; 29 | } 30 | const result = await transform(code, { 31 | loader: "ts", 32 | }); 33 | return result.code; 34 | }, 35 | }, 36 | terser(), 37 | ], 38 | }); 39 | -------------------------------------------------------------------------------- /scripts/bump.ts: -------------------------------------------------------------------------------- 1 | import { exec } from "@actions/exec"; 2 | import fs from "node:fs"; 3 | import path from "node:path"; 4 | import pkgJson from "../package.json" with { type: "json" }; 5 | 6 | process.chdir(path.join(import.meta.dirname, "..")); 7 | 8 | await exec("changeset", ["version"]); 9 | 10 | const releaseLine = `v${pkgJson.version.split(".")[0]}`; 11 | 12 | const readmePath = path.join(import.meta.dirname, "..", "README.md"); 13 | const content = fs.readFileSync(readmePath, "utf8"); 14 | const updatedContent = content.replace( 15 | /changesets\/action@[^\s]+/g, 16 | `changesets/action@${releaseLine}` 17 | ); 18 | fs.writeFileSync(readmePath, updatedContent); 19 | -------------------------------------------------------------------------------- /scripts/release-pr.ts: -------------------------------------------------------------------------------- 1 | import { exec } from "@actions/exec"; 2 | import path from "node:path"; 3 | 4 | import pkgJson from "../package.json" with { type: "json" }; 5 | 6 | const tag = `v${pkgJson.version}`; 7 | const releaseLine = "pr-release"; 8 | 9 | process.chdir(path.join(import.meta.dirname, "..")); 10 | 11 | await exec("git", ["checkout", "--detach"]); 12 | await exec("git", ["add", "--force", "dist"]); 13 | await exec("git", ["commit", "-m", tag]); 14 | 15 | await exec("git", [ 16 | "push", 17 | "--force", 18 | "origin", 19 | `HEAD:refs/heads/${releaseLine}`, 20 | ]); 21 | -------------------------------------------------------------------------------- /scripts/release.ts: -------------------------------------------------------------------------------- 1 | import { exec, getExecOutput } from "@actions/exec"; 2 | import path from "node:path"; 3 | 4 | import pkgJson from "../package.json" with { type: "json" }; 5 | 6 | const tag = `v${pkgJson.version}`; 7 | const releaseLine = `v${pkgJson.version.split(".")[0]}`; 8 | 9 | process.chdir(path.join(import.meta.dirname, "..")); 10 | 11 | (async () => { 12 | const { exitCode, stderr } = await getExecOutput( 13 | `git`, 14 | ["ls-remote", "--exit-code", "origin", "--tags", `refs/tags/${tag}`], 15 | { 16 | ignoreReturnCode: true, 17 | } 18 | ); 19 | if (exitCode === 0) { 20 | console.log( 21 | `Action is not being published because version ${tag} is already published` 22 | ); 23 | return; 24 | } 25 | if (exitCode !== 2) { 26 | throw new Error(`git ls-remote exited with ${exitCode}:\n${stderr}`); 27 | } 28 | 29 | await exec("git", ["checkout", "--detach"]); 30 | await exec("git", ["add", "--force", "dist"]); 31 | await exec("git", ["commit", "-m", tag]); 32 | 33 | await exec("changeset", ["tag"]); 34 | 35 | await exec("git", [ 36 | "push", 37 | "--force", 38 | "--follow-tags", 39 | "origin", 40 | `HEAD:refs/heads/${releaseLine}`, 41 | ]); 42 | })(); 43 | -------------------------------------------------------------------------------- /src/__snapshots__/run.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`version > creates simple PR 1`] = ` 4 | [ 5 | { 6 | "base": "some-branch", 7 | "body": "This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to some-branch, this PR will be updated. 8 | 9 | 10 | # Releases 11 | ## simple-project-pkg-a@1.1.0 12 | 13 | ### Minor Changes 14 | 15 | - Awesome feature 16 | 17 | ### Patch Changes 18 | 19 | - Updated dependencies 20 | - simple-project-pkg-b@1.1.0 21 | 22 | ## simple-project-pkg-b@1.1.0 23 | 24 | ### Minor Changes 25 | 26 | - Awesome feature 27 | ", 28 | "head": "changeset-release/some-branch", 29 | "owner": "changesets", 30 | "repo": "action", 31 | "title": "Version Packages", 32 | }, 33 | ] 34 | `; 35 | 36 | exports[`version > does not include any release information if a message with simplified release info exceeds size limit 1`] = ` 37 | [ 38 | { 39 | "base": "some-branch", 40 | "body": "This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to some-branch, this PR will be updated. 41 | 42 | 43 | # Releases 44 | 45 | > All release information have been omitted from this message, as the content exceeds the size limit.", 46 | "head": "changeset-release/some-branch", 47 | "owner": "changesets", 48 | "repo": "action", 49 | "title": "Version Packages", 50 | }, 51 | ] 52 | `; 53 | 54 | exports[`version > does not include changelog entries if full message exceeds size limit 1`] = ` 55 | [ 56 | { 57 | "base": "some-branch", 58 | "body": "This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to some-branch, this PR will be updated. 59 | 60 | 61 | # Releases 62 | 63 | > The changelog information of each package has been omitted from this message, as the content exceeds the size limit. 64 | 65 | ## simple-project-pkg-a@1.1.0 66 | 67 | ", 68 | "head": "changeset-release/some-branch", 69 | "owner": "changesets", 70 | "repo": "action", 71 | "title": "Version Packages", 72 | }, 73 | ] 74 | `; 75 | 76 | exports[`version > doesn't include ignored package that got a dependency update in the PR body 1`] = ` 77 | [ 78 | { 79 | "base": "some-branch", 80 | "body": "This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to some-branch, this PR will be updated. 81 | 82 | 83 | # Releases 84 | ## ignored-package-pkg-b@1.1.0 85 | 86 | ### Minor Changes 87 | 88 | - Awesome feature 89 | ", 90 | "head": "changeset-release/some-branch", 91 | "owner": "changesets", 92 | "repo": "action", 93 | "title": "Version Packages", 94 | }, 95 | ] 96 | `; 97 | 98 | exports[`version > only includes bumped packages in the PR body 1`] = ` 99 | [ 100 | { 101 | "base": "some-branch", 102 | "body": "This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to some-branch, this PR will be updated. 103 | 104 | 105 | # Releases 106 | ## simple-project-pkg-a@1.1.0 107 | 108 | ### Minor Changes 109 | 110 | - Awesome feature 111 | ", 112 | "head": "changeset-release/some-branch", 113 | "owner": "changesets", 114 | "repo": "action", 115 | "title": "Version Packages", 116 | }, 117 | ] 118 | `; 119 | -------------------------------------------------------------------------------- /src/__snapshots__/utils.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`it sorts the things right 1`] = ` 4 | [ 5 | { 6 | "highestLevel": 3, 7 | "name": "c", 8 | "private": false, 9 | }, 10 | { 11 | "highestLevel": 1, 12 | "name": "b", 13 | "private": false, 14 | }, 15 | { 16 | "highestLevel": 3, 17 | "name": "a", 18 | "private": true, 19 | }, 20 | ] 21 | `; 22 | 23 | exports[`it works 1`] = ` 24 | "### Major Changes 25 | 26 | - [2164a779](https://github.com/keystonejs/keystone-5/commit/2164a779): 27 | 28 | - Replace jade with pug because Jade was renamed to Pug, and \`jade\` package is outdated 29 | 30 | ### Patch Changes 31 | 32 | - [81dc0be5](https://github.com/keystonejs/keystone-5/commit/81dc0be5): 33 | 34 | - Update dependencies 35 | " 36 | `; 37 | 38 | exports[`it works 2`] = ` 39 | "### Patch Changes 40 | 41 | - [19fe6c1b](https://github.com/keystonejs/keystone-5/commit/19fe6c1b): 42 | 43 | Move frontmatter in docs into comments 44 | " 45 | `; 46 | -------------------------------------------------------------------------------- /src/git.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import { exec, getExecOutput } from "@actions/exec"; 3 | import * as github from "@actions/github"; 4 | import { commitChangesFromRepo } from "@changesets/ghcommit/git"; 5 | import type { Octokit } from "./octokit.ts"; 6 | 7 | type GitOptions = { 8 | cwd: string; 9 | }; 10 | 11 | const push = async (branch: string, options: GitOptions) => { 12 | await exec("git", ["push", "origin", `HEAD:${branch}`, "--force"], options); 13 | }; 14 | 15 | const switchToMaybeExistingBranch = async ( 16 | branch: string, 17 | options: GitOptions 18 | ) => { 19 | let { stderr } = await getExecOutput("git", ["checkout", branch], { 20 | ignoreReturnCode: true, 21 | ...options, 22 | }); 23 | let isCreatingBranch = !stderr 24 | .toString() 25 | .includes(`Switched to a new branch '${branch}'`); 26 | if (isCreatingBranch) { 27 | await exec("git", ["checkout", "-b", branch], options); 28 | } 29 | }; 30 | 31 | const reset = async (pathSpec: string, options: GitOptions) => { 32 | await exec("git", ["reset", `--hard`, pathSpec], options); 33 | }; 34 | 35 | const commitAll = async (message: string, options: GitOptions) => { 36 | await exec("git", ["add", "."], options); 37 | await exec("git", ["commit", "-m", message], options); 38 | }; 39 | 40 | const checkIfClean = async (options: GitOptions): Promise => { 41 | const { stdout } = await getExecOutput( 42 | "git", 43 | ["status", "--porcelain"], 44 | options 45 | ); 46 | return !stdout.length; 47 | }; 48 | 49 | export class Git { 50 | readonly octokit: Octokit | null; 51 | readonly cwd: string; 52 | 53 | constructor(args: { octokit?: Octokit; cwd: string }) { 54 | this.octokit = args.octokit ?? null; 55 | this.cwd = args.cwd; 56 | } 57 | 58 | async setupUser() { 59 | if (this.octokit) { 60 | return; 61 | } 62 | await exec("git", ["config", "user.name", `"github-actions[bot]"`], { 63 | cwd: this.cwd, 64 | }); 65 | await exec( 66 | "git", 67 | [ 68 | "config", 69 | "user.email", 70 | `"41898282+github-actions[bot]@users.noreply.github.com"`, 71 | ], 72 | { 73 | cwd: this.cwd, 74 | } 75 | ); 76 | } 77 | 78 | async pushTag(tag: string) { 79 | if (this.octokit) { 80 | return this.octokit.rest.git 81 | .createRef({ 82 | ...github.context.repo, 83 | ref: `refs/tags/${tag}`, 84 | sha: github.context.sha, 85 | }) 86 | .catch((err) => { 87 | // Assuming tag was manually pushed in custom publish script 88 | core.warning(`Failed to create tag ${tag}: ${err.message}`); 89 | }); 90 | } 91 | await exec("git", ["push", "origin", tag], { cwd: this.cwd }); 92 | } 93 | 94 | async prepareBranch(branch: string) { 95 | if (this.octokit) { 96 | // Preparing a new local branch is not necessary when using the API 97 | return; 98 | } 99 | await switchToMaybeExistingBranch(branch, { cwd: this.cwd }); 100 | await reset(github.context.sha, { cwd: this.cwd }); 101 | } 102 | 103 | async pushChanges({ branch, message }: { branch: string; message: string }) { 104 | if (this.octokit) { 105 | /** 106 | * Only add files form the current working directory 107 | * 108 | * This will emulate the behavior of `git add .`, 109 | * used in {@link commitAll}. 110 | */ 111 | const addFromDirectory = this.cwd; 112 | return commitChangesFromRepo({ 113 | octokit: this.octokit, 114 | ...github.context.repo, 115 | branch, 116 | message, 117 | base: { 118 | commit: github.context.sha, 119 | }, 120 | cwd: this.cwd, 121 | force: true, 122 | }); 123 | } 124 | if (!(await checkIfClean({ cwd: this.cwd }))) { 125 | await commitAll(message, { cwd: this.cwd }); 126 | } 127 | await push(branch, { cwd: this.cwd }); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import fs from "node:fs/promises"; 3 | import path from "node:path"; 4 | import { Git } from "./git.ts"; 5 | import { setupOctokit } from "./octokit.ts"; 6 | import readChangesetState from "./readChangesetState.ts"; 7 | import { runPublish, runVersion } from "./run.ts"; 8 | import { fileExists } from "./utils.ts"; 9 | 10 | const getOptionalInput = (name: string) => core.getInput(name) || undefined; 11 | 12 | (async () => { 13 | let githubToken = process.env.GITHUB_TOKEN; 14 | 15 | if (!githubToken) { 16 | core.setFailed("Please add the GITHUB_TOKEN to the changesets action"); 17 | return; 18 | } 19 | 20 | const cwd = path.resolve(getOptionalInput("cwd") ?? ""); 21 | 22 | const octokit = setupOctokit(githubToken); 23 | const commitMode = getOptionalInput("commitMode") ?? "git-cli"; 24 | if (commitMode !== "git-cli" && commitMode !== "github-api") { 25 | core.setFailed(`Invalid commit mode: ${commitMode}`); 26 | return; 27 | } 28 | const git = new Git({ 29 | octokit: commitMode === "github-api" ? octokit : undefined, 30 | cwd, 31 | }); 32 | 33 | let setupGitUser = core.getBooleanInput("setupGitUser"); 34 | 35 | if (setupGitUser) { 36 | core.info("setting git user"); 37 | await git.setupUser(); 38 | } 39 | 40 | core.info("setting GitHub credentials"); 41 | await fs.writeFile( 42 | `${process.env.HOME}/.netrc`, 43 | `machine github.com\nlogin github-actions[bot]\npassword ${githubToken}` 44 | ); 45 | 46 | let { changesets } = await readChangesetState(); 47 | 48 | let publishScript = core.getInput("publish"); 49 | let hasChangesets = changesets.length !== 0; 50 | const hasNonEmptyChangesets = changesets.some( 51 | (changeset) => changeset.releases.length > 0 52 | ); 53 | let hasPublishScript = !!publishScript; 54 | 55 | core.setOutput("published", "false"); 56 | core.setOutput("publishedPackages", "[]"); 57 | core.setOutput("hasChangesets", String(hasChangesets)); 58 | 59 | switch (true) { 60 | case !hasChangesets && !hasPublishScript: 61 | core.info( 62 | "No changesets present or were removed by merging release PR. Not publishing because no publish script found." 63 | ); 64 | return; 65 | case !hasChangesets && hasPublishScript: { 66 | core.info( 67 | "No changesets found. Attempting to publish any unpublished packages to npm" 68 | ); 69 | 70 | let userNpmrcPath = `${process.env.HOME}/.npmrc`; 71 | if (await fileExists(userNpmrcPath)) { 72 | core.info("Found existing user .npmrc file"); 73 | const userNpmrcContent = await fs.readFile(userNpmrcPath, "utf8"); 74 | const authLine = userNpmrcContent.split("\n").find((line) => { 75 | // check based on https://github.com/npm/cli/blob/8f8f71e4dd5ee66b3b17888faad5a7bf6c657eed/test/lib/adduser.js#L103-L105 76 | return /^\s*\/\/registry\.npmjs\.org\/:[_-]authToken=/i.test(line); 77 | }); 78 | if (authLine) { 79 | core.info( 80 | "Found existing auth token for the npm registry in the user .npmrc file" 81 | ); 82 | } else { 83 | core.info( 84 | "Didn't find existing auth token for the npm registry in the user .npmrc file, creating one" 85 | ); 86 | await fs.appendFile( 87 | userNpmrcPath, 88 | `\n//registry.npmjs.org/:_authToken=${process.env.NPM_TOKEN}\n` 89 | ); 90 | } 91 | } else { 92 | core.info("No user .npmrc file found, creating one"); 93 | await fs.writeFile( 94 | userNpmrcPath, 95 | `//registry.npmjs.org/:_authToken=${process.env.NPM_TOKEN}\n` 96 | ); 97 | } 98 | 99 | const result = await runPublish({ 100 | script: publishScript, 101 | git, 102 | octokit, 103 | createGithubReleases: core.getBooleanInput("createGithubReleases"), 104 | cwd, 105 | }); 106 | 107 | if (result.published) { 108 | core.setOutput("published", "true"); 109 | core.setOutput( 110 | "publishedPackages", 111 | JSON.stringify(result.publishedPackages) 112 | ); 113 | } 114 | return; 115 | } 116 | case hasChangesets && !hasNonEmptyChangesets: 117 | core.info("All changesets are empty; not creating PR"); 118 | return; 119 | case hasChangesets: { 120 | const octokit = setupOctokit(githubToken); 121 | const { pullRequestNumber } = await runVersion({ 122 | script: getOptionalInput("version"), 123 | git, 124 | octokit, 125 | prTitle: getOptionalInput("title"), 126 | commitMessage: getOptionalInput("commit"), 127 | hasPublishScript, 128 | branch: getOptionalInput("branch"), 129 | }); 130 | 131 | core.setOutput("pullRequestNumber", String(pullRequestNumber)); 132 | 133 | return; 134 | } 135 | } 136 | })().catch((err) => { 137 | core.error(err); 138 | core.setFailed(err.message); 139 | }); 140 | -------------------------------------------------------------------------------- /src/octokit.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import { getOctokit } from "@actions/github"; 3 | import { throttling } from "@octokit/plugin-throttling"; 4 | 5 | export const setupOctokit = (githubToken: string) => { 6 | return getOctokit( 7 | githubToken, 8 | { 9 | throttle: { 10 | onRateLimit: (retryAfter, options: any, octokit, retryCount) => { 11 | core.warning( 12 | `Request quota exhausted for request ${options.method} ${options.url}` 13 | ); 14 | 15 | if (retryCount <= 2) { 16 | core.info(`Retrying after ${retryAfter} seconds!`); 17 | return true; 18 | } 19 | }, 20 | onSecondaryRateLimit: ( 21 | retryAfter, 22 | options: any, 23 | octokit, 24 | retryCount 25 | ) => { 26 | core.warning( 27 | `SecondaryRateLimit detected for request ${options.method} ${options.url}` 28 | ); 29 | 30 | if (retryCount <= 2) { 31 | core.info(`Retrying after ${retryAfter} seconds!`); 32 | return true; 33 | } 34 | }, 35 | }, 36 | }, 37 | throttling 38 | ); 39 | }; 40 | 41 | export type Octokit = ReturnType; 42 | -------------------------------------------------------------------------------- /src/readChangesetState.ts: -------------------------------------------------------------------------------- 1 | import type { PreState, NewChangeset } from "@changesets/types"; 2 | import { readPreState } from "@changesets/pre"; 3 | import readChangesets from "@changesets/read"; 4 | 5 | export type ChangesetState = { 6 | preState: PreState | undefined; 7 | changesets: NewChangeset[]; 8 | }; 9 | 10 | export default async function readChangesetState( 11 | cwd: string = process.cwd() 12 | ): Promise { 13 | let preState = await readPreState(cwd); 14 | let changesets = await readChangesets(cwd); 15 | 16 | if (preState !== undefined && preState.mode === "pre") { 17 | let changesetsToFilter = new Set(preState.changesets); 18 | 19 | return { 20 | preState, 21 | changesets: changesets.filter((x) => !changesetsToFilter.has(x.id)), 22 | }; 23 | } 24 | 25 | return { 26 | preState: undefined, 27 | changesets, 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /src/run.test.ts: -------------------------------------------------------------------------------- 1 | import type { Changeset } from "@changesets/types"; 2 | import writeChangeset from "@changesets/write"; 3 | import fixturez from "fixturez"; 4 | import fs from "node:fs/promises"; 5 | import path from "node:path"; 6 | import { beforeEach, describe, expect, it, vi } from "vitest"; 7 | import { Git } from "./git.ts"; 8 | import { setupOctokit } from "./octokit.ts"; 9 | import { runVersion } from "./run.ts"; 10 | 11 | vi.mock("@actions/github", () => ({ 12 | context: { 13 | repo: { 14 | owner: "changesets", 15 | repo: "action", 16 | }, 17 | ref: "refs/heads/some-branch", 18 | sha: "xeac7", 19 | }, 20 | getOctokit: () => ({ 21 | rest: mockedGithubMethods, 22 | }), 23 | })); 24 | vi.mock("./git.ts"); 25 | vi.mock("@changesets/ghcommit/git"); 26 | 27 | let mockedGithubMethods = { 28 | pulls: { 29 | create: vi.fn(), 30 | list: vi.fn(), 31 | }, 32 | repos: { 33 | createRelease: vi.fn(), 34 | }, 35 | }; 36 | 37 | let f = fixturez(import.meta.dirname); 38 | 39 | const linkNodeModules = async (cwd: string) => { 40 | await fs.symlink( 41 | path.join(import.meta.dirname, "..", "node_modules"), 42 | path.join(cwd, "node_modules") 43 | ); 44 | }; 45 | const writeChangesets = (changesets: Changeset[], cwd: string) => { 46 | return Promise.all(changesets.map((commit) => writeChangeset(commit, cwd))); 47 | }; 48 | 49 | beforeEach(() => { 50 | vi.clearAllMocks(); 51 | }); 52 | 53 | describe("version", () => { 54 | it("creates simple PR", async () => { 55 | let cwd = f.copy("simple-project"); 56 | await linkNodeModules(cwd); 57 | 58 | mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] })); 59 | 60 | mockedGithubMethods.pulls.create.mockImplementationOnce(() => ({ 61 | data: { number: 123 }, 62 | })); 63 | 64 | await writeChangesets( 65 | [ 66 | { 67 | releases: [ 68 | { 69 | name: "simple-project-pkg-a", 70 | type: "minor", 71 | }, 72 | { 73 | name: "simple-project-pkg-b", 74 | type: "minor", 75 | }, 76 | ], 77 | summary: "Awesome feature", 78 | }, 79 | ], 80 | cwd 81 | ); 82 | 83 | await runVersion({ 84 | octokit: setupOctokit("@@GITHUB_TOKEN"), 85 | git: new Git({ cwd }), 86 | cwd, 87 | }); 88 | 89 | expect(mockedGithubMethods.pulls.create.mock.calls[0]).toMatchSnapshot(); 90 | }); 91 | 92 | it("only includes bumped packages in the PR body", async () => { 93 | let cwd = f.copy("simple-project"); 94 | await linkNodeModules(cwd); 95 | 96 | mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] })); 97 | 98 | mockedGithubMethods.pulls.create.mockImplementationOnce(() => ({ 99 | data: { number: 123 }, 100 | })); 101 | 102 | await writeChangesets( 103 | [ 104 | { 105 | releases: [ 106 | { 107 | name: "simple-project-pkg-a", 108 | type: "minor", 109 | }, 110 | ], 111 | summary: "Awesome feature", 112 | }, 113 | ], 114 | cwd 115 | ); 116 | 117 | await runVersion({ 118 | octokit: setupOctokit("@@GITHUB_TOKEN"), 119 | git: new Git({ cwd }), 120 | cwd, 121 | }); 122 | 123 | expect(mockedGithubMethods.pulls.create.mock.calls[0]).toMatchSnapshot(); 124 | }); 125 | 126 | it("doesn't include ignored package that got a dependency update in the PR body", async () => { 127 | let cwd = f.copy("ignored-package"); 128 | await linkNodeModules(cwd); 129 | 130 | mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] })); 131 | 132 | mockedGithubMethods.pulls.create.mockImplementationOnce(() => ({ 133 | data: { number: 123 }, 134 | })); 135 | 136 | await writeChangesets( 137 | [ 138 | { 139 | releases: [ 140 | { 141 | name: "ignored-package-pkg-b", 142 | type: "minor", 143 | }, 144 | ], 145 | summary: "Awesome feature", 146 | }, 147 | ], 148 | cwd 149 | ); 150 | 151 | await runVersion({ 152 | octokit: setupOctokit("@@GITHUB_TOKEN"), 153 | git: new Git({ cwd }), 154 | cwd, 155 | }); 156 | 157 | expect(mockedGithubMethods.pulls.create.mock.calls[0]).toMatchSnapshot(); 158 | }); 159 | 160 | it("does not include changelog entries if full message exceeds size limit", async () => { 161 | let cwd = f.copy("simple-project"); 162 | await linkNodeModules(cwd); 163 | 164 | mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] })); 165 | 166 | mockedGithubMethods.pulls.create.mockImplementationOnce(() => ({ 167 | data: { number: 123 }, 168 | })); 169 | 170 | await writeChangesets( 171 | [ 172 | { 173 | releases: [ 174 | { 175 | name: "simple-project-pkg-a", 176 | type: "minor", 177 | }, 178 | ], 179 | summary: `# Non manus superum 180 | 181 | ## Nec cornibus aequa numinis multo onerosior adde 182 | 183 | Lorem markdownum undas consumpserat malas, nec est lupus; memorant gentisque ab 184 | limine auctore. Eatque et promptu deficit, quam videtur aequa est **faciat**, 185 | locus. Potentia deus habebat pia quam qui coniuge frater, tibi habent fertque 186 | viribus. E et cognoscere arcus, lacus aut sic pro crimina fuit tum **auxilium** 187 | dictis, qua, in. 188 | 189 | In modo. Nomen illa membra. 190 | 191 | > Corpora gratissima parens montibus tum coeperat qua remulus caelum Helenamque? 192 | > Non poenae modulatur Amathunta in concita superi, procerum pariter rapto cornu 193 | > munera. Perrhaebum parvo manus contingere, morari, spes per totiens ut 194 | > dividite proculcat facit, visa. 195 | 196 | Adspicit sequitur diffamatamque superi Phoebo qua quin lammina utque: per? Exit 197 | decus aut hac inpia, seducta mirantia extremo. Vidi pedes vetus. Saturnius 198 | fluminis divesque vulnere aquis parce lapsis rabie si visa fulmineis. 199 | `, 200 | }, 201 | ], 202 | cwd 203 | ); 204 | 205 | await runVersion({ 206 | octokit: setupOctokit("@@GITHUB_TOKEN"), 207 | git: new Git({ cwd }), 208 | cwd, 209 | prBodyMaxCharacters: 1000, 210 | }); 211 | 212 | expect(mockedGithubMethods.pulls.create.mock.calls[0]).toMatchSnapshot(); 213 | expect(mockedGithubMethods.pulls.create.mock.calls[0][0].body).toMatch( 214 | /The changelog information of each package has been omitted from this message/ 215 | ); 216 | }); 217 | 218 | it("does not include any release information if a message with simplified release info exceeds size limit", async () => { 219 | let cwd = f.copy("simple-project"); 220 | await linkNodeModules(cwd); 221 | 222 | mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] })); 223 | 224 | mockedGithubMethods.pulls.create.mockImplementationOnce(() => ({ 225 | data: { number: 123 }, 226 | })); 227 | 228 | await writeChangesets( 229 | [ 230 | { 231 | releases: [ 232 | { 233 | name: "simple-project-pkg-a", 234 | type: "minor", 235 | }, 236 | ], 237 | summary: `# Non manus superum 238 | 239 | ## Nec cornibus aequa numinis multo onerosior adde 240 | 241 | Lorem markdownum undas consumpserat malas, nec est lupus; memorant gentisque ab 242 | limine auctore. Eatque et promptu deficit, quam videtur aequa est **faciat**, 243 | locus. Potentia deus habebat pia quam qui coniuge frater, tibi habent fertque 244 | viribus. E et cognoscere arcus, lacus aut sic pro crimina fuit tum **auxilium** 245 | dictis, qua, in. 246 | 247 | In modo. Nomen illa membra. 248 | 249 | > Corpora gratissima parens montibus tum coeperat qua remulus caelum Helenamque? 250 | > Non poenae modulatur Amathunta in concita superi, procerum pariter rapto cornu 251 | > munera. Perrhaebum parvo manus contingere, morari, spes per totiens ut 252 | > dividite proculcat facit, visa. 253 | 254 | Adspicit sequitur diffamatamque superi Phoebo qua quin lammina utque: per? Exit 255 | decus aut hac inpia, seducta mirantia extremo. Vidi pedes vetus. Saturnius 256 | fluminis divesque vulnere aquis parce lapsis rabie si visa fulmineis. 257 | `, 258 | }, 259 | ], 260 | cwd 261 | ); 262 | 263 | await runVersion({ 264 | octokit: setupOctokit("@@GITHUB_TOKEN"), 265 | git: new Git({ cwd }), 266 | cwd, 267 | prBodyMaxCharacters: 500, 268 | }); 269 | 270 | expect(mockedGithubMethods.pulls.create.mock.calls[0]).toMatchSnapshot(); 271 | expect(mockedGithubMethods.pulls.create.mock.calls[0][0].body).toMatch( 272 | /All release information have been omitted from this message, as the content exceeds the size limit/ 273 | ); 274 | }); 275 | }); 276 | -------------------------------------------------------------------------------- /src/run.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import { exec, getExecOutput } from "@actions/exec"; 3 | import * as github from "@actions/github"; 4 | import type { PreState } from "@changesets/types"; 5 | import { type Package, getPackages } from "@manypkg/get-packages"; 6 | import fs from "node:fs/promises"; 7 | import { createRequire } from "node:module"; 8 | import path from "node:path"; 9 | import semverLt from "semver/functions/lt.js"; 10 | import { Git } from "./git.ts"; 11 | import type { Octokit } from "./octokit.ts"; 12 | import readChangesetState from "./readChangesetState.ts"; 13 | import { 14 | getChangedPackages, 15 | getChangelogEntry, 16 | getVersionsByDirectory, 17 | isErrorWithCode, 18 | sortTheThings, 19 | } from "./utils.ts"; 20 | 21 | const require = createRequire(import.meta.url); 22 | 23 | // GitHub Issues/PRs messages have a max size limit on the 24 | // message body payload. 25 | // `body is too long (maximum is 65536 characters)`. 26 | // To avoid that, we ensure to cap the message to 60k chars. 27 | const MAX_CHARACTERS_PER_MESSAGE = 60000; 28 | 29 | const createRelease = async ( 30 | octokit: Octokit, 31 | { pkg, tagName }: { pkg: Package; tagName: string } 32 | ) => { 33 | let changelog; 34 | try { 35 | changelog = await fs.readFile(path.join(pkg.dir, "CHANGELOG.md"), "utf8"); 36 | } catch (err) { 37 | if (isErrorWithCode(err, "ENOENT")) { 38 | // if we can't find a changelog, the user has probably disabled changelogs 39 | return; 40 | } 41 | throw err; 42 | } 43 | let changelogEntry = getChangelogEntry(changelog, pkg.packageJson.version); 44 | if (!changelogEntry) { 45 | // we can find a changelog but not the entry for this version 46 | // if this is true, something has probably gone wrong 47 | throw new Error( 48 | `Could not find changelog entry for ${pkg.packageJson.name}@${pkg.packageJson.version}` 49 | ); 50 | } 51 | 52 | await octokit.rest.repos.createRelease({ 53 | name: tagName, 54 | tag_name: tagName, 55 | body: changelogEntry.content, 56 | prerelease: pkg.packageJson.version.includes("-"), 57 | ...github.context.repo, 58 | }); 59 | }; 60 | 61 | type PublishOptions = { 62 | script: string; 63 | octokit: Octokit; 64 | createGithubReleases: boolean; 65 | git: Git; 66 | cwd: string; 67 | }; 68 | 69 | type PublishedPackage = { name: string; version: string }; 70 | 71 | type PublishResult = 72 | | { 73 | published: true; 74 | publishedPackages: PublishedPackage[]; 75 | } 76 | | { 77 | published: false; 78 | }; 79 | 80 | export async function runPublish({ 81 | script, 82 | git, 83 | octokit, 84 | createGithubReleases, 85 | cwd, 86 | }: PublishOptions): Promise { 87 | let [publishCommand, ...publishArgs] = script.split(/\s+/); 88 | 89 | let changesetPublishOutput = await getExecOutput( 90 | publishCommand, 91 | publishArgs, 92 | { cwd } 93 | ); 94 | 95 | let { packages, tool } = await getPackages(cwd); 96 | let releasedPackages: Package[] = []; 97 | 98 | if (tool !== "root") { 99 | let newTagRegex = /New tag:\s+(@[^/]+\/[^@]+|[^/]+)@([^\s]+)/; 100 | let packagesByName = new Map(packages.map((x) => [x.packageJson.name, x])); 101 | 102 | for (let line of changesetPublishOutput.stdout.split("\n")) { 103 | let match = line.match(newTagRegex); 104 | if (match === null) { 105 | continue; 106 | } 107 | let pkgName = match[1]; 108 | let pkg = packagesByName.get(pkgName); 109 | if (pkg === undefined) { 110 | throw new Error( 111 | `Package "${pkgName}" not found.` + 112 | "This is probably a bug in the action, please open an issue" 113 | ); 114 | } 115 | releasedPackages.push(pkg); 116 | } 117 | 118 | if (createGithubReleases) { 119 | await Promise.all( 120 | releasedPackages.map(async (pkg) => { 121 | const tagName = `${pkg.packageJson.name}@${pkg.packageJson.version}`; 122 | await git.pushTag(tagName); 123 | await createRelease(octokit, { pkg, tagName }); 124 | }) 125 | ); 126 | } 127 | } else { 128 | if (packages.length === 0) { 129 | throw new Error( 130 | `No package found.` + 131 | "This is probably a bug in the action, please open an issue" 132 | ); 133 | } 134 | let pkg = packages[0]; 135 | let newTagRegex = /New tag:/; 136 | 137 | for (let line of changesetPublishOutput.stdout.split("\n")) { 138 | let match = line.match(newTagRegex); 139 | 140 | if (match) { 141 | releasedPackages.push(pkg); 142 | if (createGithubReleases) { 143 | const tagName = `v${pkg.packageJson.version}`; 144 | await git.pushTag(tagName); 145 | await createRelease(octokit, { pkg, tagName }); 146 | } 147 | break; 148 | } 149 | } 150 | } 151 | 152 | if (releasedPackages.length) { 153 | return { 154 | published: true, 155 | publishedPackages: releasedPackages.map((pkg) => ({ 156 | name: pkg.packageJson.name, 157 | version: pkg.packageJson.version, 158 | })), 159 | }; 160 | } 161 | 162 | return { published: false }; 163 | } 164 | 165 | const requireChangesetsCliPkgJson = (cwd: string) => { 166 | try { 167 | return require(require.resolve("@changesets/cli/package.json", { 168 | paths: [cwd], 169 | })); 170 | } catch (err) { 171 | if (isErrorWithCode(err, "MODULE_NOT_FOUND")) { 172 | throw new Error( 173 | `Have you forgotten to install \`@changesets/cli\` in "${cwd}"?`, 174 | { cause: err } 175 | ); 176 | } 177 | throw err; 178 | } 179 | }; 180 | 181 | type GetMessageOptions = { 182 | hasPublishScript: boolean; 183 | branch: string; 184 | changedPackagesInfo: { 185 | highestLevel: number; 186 | private: boolean; 187 | content: string; 188 | header: string; 189 | }[]; 190 | prBodyMaxCharacters: number; 191 | preState?: PreState; 192 | }; 193 | 194 | export async function getVersionPrBody({ 195 | hasPublishScript, 196 | preState, 197 | changedPackagesInfo, 198 | prBodyMaxCharacters, 199 | branch, 200 | }: GetMessageOptions) { 201 | let messageHeader = `This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and ${ 202 | hasPublishScript 203 | ? `the packages will be published to npm automatically` 204 | : `publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing)` 205 | }. If you're not ready to do a release yet, that's fine, whenever you add more changesets to ${branch}, this PR will be updated. 206 | `; 207 | let messagePrestate = !!preState 208 | ? `⚠️⚠️⚠️⚠️⚠️⚠️ 209 | 210 | \`${branch}\` is currently in **pre mode** so this branch has prereleases rather than normal releases. If you want to exit prereleases, run \`changeset pre exit\` on \`${branch}\`. 211 | 212 | ⚠️⚠️⚠️⚠️⚠️⚠️ 213 | ` 214 | : ""; 215 | let messageReleasesHeading = `# Releases`; 216 | 217 | let fullMessage = [ 218 | messageHeader, 219 | messagePrestate, 220 | messageReleasesHeading, 221 | ...changedPackagesInfo.map((info) => `${info.header}\n\n${info.content}`), 222 | ].join("\n"); 223 | 224 | // Check that the message does not exceed the size limit. 225 | // If not, omit the changelog entries of each package. 226 | if (fullMessage.length > prBodyMaxCharacters) { 227 | fullMessage = [ 228 | messageHeader, 229 | messagePrestate, 230 | messageReleasesHeading, 231 | `\n> The changelog information of each package has been omitted from this message, as the content exceeds the size limit.\n`, 232 | ...changedPackagesInfo.map((info) => `${info.header}\n\n`), 233 | ].join("\n"); 234 | } 235 | 236 | // Check (again) that the message is within the size limit. 237 | // If not, omit all release content this time. 238 | if (fullMessage.length > prBodyMaxCharacters) { 239 | fullMessage = [ 240 | messageHeader, 241 | messagePrestate, 242 | messageReleasesHeading, 243 | `\n> All release information have been omitted from this message, as the content exceeds the size limit.`, 244 | ].join("\n"); 245 | } 246 | 247 | return fullMessage; 248 | } 249 | 250 | type VersionOptions = { 251 | script?: string; 252 | git: Git; 253 | octokit: Octokit; 254 | cwd?: string; 255 | prTitle?: string; 256 | commitMessage?: string; 257 | hasPublishScript?: boolean; 258 | prBodyMaxCharacters?: number; 259 | branch?: string; 260 | }; 261 | 262 | type RunVersionResult = { 263 | pullRequestNumber: number; 264 | }; 265 | 266 | export async function runVersion({ 267 | script, 268 | git, 269 | octokit, 270 | cwd = process.cwd(), 271 | prTitle = "Version Packages", 272 | commitMessage = "Version Packages", 273 | hasPublishScript = false, 274 | prBodyMaxCharacters = MAX_CHARACTERS_PER_MESSAGE, 275 | branch = github.context.ref.replace("refs/heads/", ""), 276 | }: VersionOptions): Promise { 277 | let versionBranch = `changeset-release/${branch}`; 278 | 279 | let { preState } = await readChangesetState(cwd); 280 | 281 | await git.prepareBranch(versionBranch); 282 | 283 | let versionsByDirectory = await getVersionsByDirectory(cwd); 284 | 285 | if (script) { 286 | let [versionCommand, ...versionArgs] = script.split(/\s+/); 287 | await exec(versionCommand, versionArgs, { cwd }); 288 | } else { 289 | let changesetsCliPkgJson = requireChangesetsCliPkgJson(cwd); 290 | let cmd = semverLt(changesetsCliPkgJson.version, "2.0.0") 291 | ? "bump" 292 | : "version"; 293 | await exec( 294 | "node", 295 | [ 296 | require.resolve("@changesets/cli/bin.js", { 297 | paths: [cwd], 298 | }), 299 | cmd, 300 | ], 301 | { 302 | cwd, 303 | } 304 | ); 305 | } 306 | 307 | let changedPackages = await getChangedPackages(cwd, versionsByDirectory); 308 | let changedPackagesInfoPromises = Promise.all( 309 | changedPackages.map(async (pkg) => { 310 | let changelogContents = await fs.readFile( 311 | path.join(pkg.dir, "CHANGELOG.md"), 312 | "utf8" 313 | ); 314 | 315 | let entry = getChangelogEntry(changelogContents, pkg.packageJson.version); 316 | return { 317 | highestLevel: entry.highestLevel, 318 | private: !!pkg.packageJson.private, 319 | content: entry.content, 320 | header: `## ${pkg.packageJson.name}@${pkg.packageJson.version}`, 321 | }; 322 | }) 323 | ); 324 | 325 | const finalPrTitle = `${prTitle}${!!preState ? ` (${preState.tag})` : ""}`; 326 | const finalCommitMessage = `${commitMessage}${ 327 | !!preState ? ` (${preState.tag})` : "" 328 | }`; 329 | 330 | /** 331 | * Fetch any existing pull requests that are open against the branch, 332 | * before we push any changes that may inadvertently close the existing PRs. 333 | * 334 | * (`@changesets/ghcommit` has to reset the branch to the same commit as the base, 335 | * which GitHub will then react to by closing the PRs) 336 | */ 337 | const existingPullRequests = await octokit.rest.pulls.list({ 338 | ...github.context.repo, 339 | state: "open", 340 | head: `${github.context.repo.owner}:${versionBranch}`, 341 | base: branch, 342 | }); 343 | core.info(`Existing pull requests: ${JSON.stringify(existingPullRequests.data, null, 2)}`); 344 | 345 | await git.pushChanges({ branch: versionBranch, message: finalCommitMessage }); 346 | 347 | const changedPackagesInfo = (await changedPackagesInfoPromises) 348 | .filter((x) => x) 349 | .sort(sortTheThings); 350 | 351 | let prBody = await getVersionPrBody({ 352 | hasPublishScript, 353 | preState, 354 | branch, 355 | changedPackagesInfo, 356 | prBodyMaxCharacters, 357 | }); 358 | 359 | if (existingPullRequests.data.length === 0) { 360 | core.info("creating pull request"); 361 | const { data: newPullRequest } = await octokit.rest.pulls.create({ 362 | base: branch, 363 | head: versionBranch, 364 | title: finalPrTitle, 365 | body: prBody, 366 | ...github.context.repo, 367 | }); 368 | 369 | return { 370 | pullRequestNumber: newPullRequest.number, 371 | }; 372 | } else { 373 | const [pullRequest] = existingPullRequests.data; 374 | 375 | core.info(`updating found pull request #${pullRequest.number}`); 376 | await octokit.rest.pulls.update({ 377 | pull_number: pullRequest.number, 378 | title: finalPrTitle, 379 | body: prBody, 380 | ...github.context.repo, 381 | state: "open", 382 | }); 383 | 384 | return { 385 | pullRequestNumber: pullRequest.number, 386 | }; 387 | } 388 | } 389 | -------------------------------------------------------------------------------- /src/utils.test.ts: -------------------------------------------------------------------------------- 1 | import { expect, test } from "vitest"; 2 | import { BumpLevels, getChangelogEntry, sortTheThings } from "./utils.ts"; 3 | 4 | let changelog = `# @keystone-alpha/email 5 | 6 | ## 3.0.1 7 | 8 | ### Patch Changes 9 | 10 | - [19fe6c1b](https://github.com/keystonejs/keystone-5/commit/19fe6c1b): 11 | 12 | Move frontmatter in docs into comments 13 | 14 | ## 3.0.0 15 | 16 | ### Major Changes 17 | 18 | - [2164a779](https://github.com/keystonejs/keystone-5/commit/2164a779): 19 | 20 | - Replace jade with pug because Jade was renamed to Pug, and \`jade\` package is outdated 21 | 22 | ### Patch Changes 23 | 24 | - [81dc0be5](https://github.com/keystonejs/keystone-5/commit/81dc0be5): 25 | 26 | - Update dependencies 27 | 28 | ## 2.0.0 29 | 30 | - [patch][b69fb9b7](https://github.com/keystonejs/keystone-5/commit/b69fb9b7): 31 | 32 | - Update dev devependencies 33 | 34 | - [major][f97e4ecf](https://github.com/keystonejs/keystone-5/commit/f97e4ecf): 35 | 36 | - Export { emailSender } as the API, rather than a default export 37 | 38 | ## 1.0.2 39 | 40 | - [patch][7417ea3a](https://github.com/keystonejs/keystone-5/commit/7417ea3a): 41 | 42 | - Update patch-level dependencies 43 | 44 | ## 1.0.1 45 | 46 | - [patch][1f0bc236](https://github.com/keystonejs/keystone-5/commit/1f0bc236): 47 | 48 | - Update the package.json author field to "The Keystone Development Team" 49 | 50 | ## 1.0.0 51 | 52 | - [major] 8b6734ae: 53 | 54 | - This is the first release of keystone-alpha (previously voussoir). 55 | All packages in the \`@voussoir\` namespace are now available in the \`@keystone-alpha\` namespace, starting at version \`1.0.0\`. 56 | To upgrade your project you must update any \`@voussoir/\` dependencies in \`package.json\` to point to \`@keystone-alpha/: "^1.0.0"\` and update any \`require\`/\`import\` statements in your code. 57 | 58 | # @voussoir/email 59 | 60 | ## 0.0.2 61 | 62 | - [patch] 113e16d4: 63 | 64 | - Remove unused dependencies 65 | 66 | - [patch] 625c1a6d: 67 | 68 | - Update mjml-dependency 69 | `; 70 | 71 | test("it works", () => { 72 | let entry = getChangelogEntry(changelog, "3.0.0"); 73 | expect(entry.content).toMatchSnapshot(); 74 | expect(entry.highestLevel).toBe(BumpLevels.major); 75 | }); 76 | 77 | test("it works", () => { 78 | let entry = getChangelogEntry(changelog, "3.0.1"); 79 | expect(entry.content).toMatchSnapshot(); 80 | expect(entry.highestLevel).toBe(BumpLevels.patch); 81 | }); 82 | 83 | test("it sorts the things right", () => { 84 | let things = [ 85 | { 86 | name: "a", 87 | highestLevel: BumpLevels.major, 88 | private: true, 89 | }, 90 | { 91 | name: "b", 92 | highestLevel: BumpLevels.patch, 93 | private: false, 94 | }, 95 | { 96 | name: "c", 97 | highestLevel: BumpLevels.major, 98 | private: false, 99 | }, 100 | ]; 101 | expect(things.sort(sortTheThings)).toMatchSnapshot(); 102 | }); 103 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import unified from "unified"; 2 | import remarkParse from "remark-parse"; 3 | import remarkStringify from "remark-stringify"; 4 | import fs from "node:fs/promises"; 5 | import type { Root } from "mdast"; 6 | // @ts-ignore 7 | import mdastToString from "mdast-util-to-string"; 8 | import { getPackages, type Package } from "@manypkg/get-packages"; 9 | 10 | export const BumpLevels = { 11 | dep: 0, 12 | patch: 1, 13 | minor: 2, 14 | major: 3, 15 | } as const; 16 | 17 | export async function getVersionsByDirectory(cwd: string) { 18 | let { packages } = await getPackages(cwd); 19 | return new Map(packages.map((x) => [x.dir, x.packageJson.version])); 20 | } 21 | 22 | export async function getChangedPackages( 23 | cwd: string, 24 | previousVersions: Map 25 | ) { 26 | let { packages } = await getPackages(cwd); 27 | let changedPackages = new Set(); 28 | 29 | for (let pkg of packages) { 30 | const previousVersion = previousVersions.get(pkg.dir); 31 | if (previousVersion !== pkg.packageJson.version) { 32 | changedPackages.add(pkg); 33 | } 34 | } 35 | 36 | return [...changedPackages]; 37 | } 38 | 39 | export function getChangelogEntry(changelog: string, version: string) { 40 | let ast = unified().use(remarkParse).parse(changelog) as Root; 41 | 42 | let highestLevel: number = BumpLevels.dep; 43 | 44 | let nodes = ast.children; 45 | let headingStartInfo: 46 | | { 47 | index: number; 48 | depth: number; 49 | } 50 | | undefined; 51 | let endIndex: number | undefined; 52 | 53 | for (let i = 0; i < nodes.length; i++) { 54 | let node = nodes[i]; 55 | if (node.type === "heading") { 56 | let stringified: string = mdastToString(node); 57 | let match = stringified.toLowerCase().match(/(major|minor|patch)/); 58 | if (match !== null) { 59 | let level = BumpLevels[match[0] as "major" | "minor" | "patch"]; 60 | highestLevel = Math.max(level, highestLevel); 61 | } 62 | if (headingStartInfo === undefined && stringified === version) { 63 | headingStartInfo = { 64 | index: i, 65 | depth: node.depth, 66 | }; 67 | continue; 68 | } 69 | if ( 70 | endIndex === undefined && 71 | headingStartInfo !== undefined && 72 | headingStartInfo.depth === node.depth 73 | ) { 74 | endIndex = i; 75 | break; 76 | } 77 | } 78 | } 79 | if (headingStartInfo) { 80 | ast.children = ast.children.slice(headingStartInfo.index + 1, endIndex); 81 | } 82 | return { 83 | content: unified().use(remarkStringify).stringify(ast), 84 | highestLevel: highestLevel, 85 | }; 86 | } 87 | 88 | export function sortTheThings( 89 | a: { private: boolean; highestLevel: number }, 90 | b: { private: boolean; highestLevel: number } 91 | ) { 92 | if (a.private === b.private) { 93 | return b.highestLevel - a.highestLevel; 94 | } 95 | if (a.private) { 96 | return 1; 97 | } 98 | return -1; 99 | } 100 | 101 | export function isErrorWithCode(err: unknown, code: string) { 102 | return ( 103 | typeof err === "object" && 104 | err !== null && 105 | "code" in err && 106 | err.code === code 107 | ); 108 | } 109 | 110 | export function fileExists(filePath: string) { 111 | return fs.access(filePath, fs.constants.F_OK).then( 112 | () => true, 113 | () => false 114 | ); 115 | } 116 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowImportingTsExtensions": true, 4 | "erasableSyntaxOnly": true, 5 | "isolatedModules": true, 6 | "module": "node18", 7 | "moduleResolution": "node16", 8 | "noEmit": true, 9 | "resolveJsonModule": true, 10 | "strict": true, 11 | "target": "esnext", 12 | "verbatimModuleSyntax": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /types/fixturez.d.ts: -------------------------------------------------------------------------------- 1 | type Opts = { 2 | glob?: string | Array; 3 | root?: string; 4 | cleanup?: boolean; 5 | }; 6 | 7 | declare module "fixturez" { 8 | export default function ( 9 | cwd: string, 10 | opts?: Opts 11 | ): { 12 | find: (a: string) => string; 13 | temp: () => string; 14 | copy: (a: string) => string; 15 | cleanup: () => any; 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@actions/core@^1.11.1": 6 | version "1.11.1" 7 | resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.11.1.tgz#ae683aac5112438021588030efb53b1adb86f172" 8 | integrity sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A== 9 | dependencies: 10 | "@actions/exec" "^1.1.1" 11 | "@actions/http-client" "^2.0.1" 12 | 13 | "@actions/exec@^1.1.1": 14 | version "1.1.1" 15 | resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" 16 | integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== 17 | dependencies: 18 | "@actions/io" "^1.0.1" 19 | 20 | "@actions/github@^6.0.1": 21 | version "6.0.1" 22 | resolved "https://registry.yarnpkg.com/@actions/github/-/github-6.0.1.tgz#76e5f96df062c90635a7181ef45ff1c4ac21306e" 23 | integrity sha512-xbZVcaqD4XnQAe35qSQqskb3SqIAfRyLBrHMd/8TuL7hJSz2QtbDwnNM8zWx4zO5l2fnGtseNE3MbEvD7BxVMw== 24 | dependencies: 25 | "@actions/http-client" "^2.2.0" 26 | "@octokit/core" "^5.0.1" 27 | "@octokit/plugin-paginate-rest" "^9.2.2" 28 | "@octokit/plugin-rest-endpoint-methods" "^10.4.0" 29 | "@octokit/request" "^8.4.1" 30 | "@octokit/request-error" "^5.1.1" 31 | undici "^5.28.5" 32 | 33 | "@actions/http-client@^2.0.1": 34 | version "2.1.0" 35 | resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.1.0.tgz#b6d8c3934727d6a50d10d19f00a711a964599a9f" 36 | integrity sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw== 37 | dependencies: 38 | tunnel "^0.0.6" 39 | 40 | "@actions/http-client@^2.2.0": 41 | version "2.2.3" 42 | resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.3.tgz#31fc0b25c0e665754ed39a9f19a8611fc6dab674" 43 | integrity sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA== 44 | dependencies: 45 | tunnel "^0.0.6" 46 | undici "^5.25.4" 47 | 48 | "@actions/io@^1.0.1": 49 | version "1.1.3" 50 | resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.3.tgz#4cdb6254da7962b07473ff5c335f3da485d94d71" 51 | integrity sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q== 52 | 53 | "@babel/code-frame@^7.0.0": 54 | version "7.21.4" 55 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" 56 | integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== 57 | dependencies: 58 | "@babel/highlight" "^7.18.6" 59 | 60 | "@babel/helper-validator-identifier@^7.18.6": 61 | version "7.19.1" 62 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 63 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 64 | 65 | "@babel/highlight@^7.18.6": 66 | version "7.18.6" 67 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 68 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 69 | dependencies: 70 | "@babel/helper-validator-identifier" "^7.18.6" 71 | chalk "^2.0.0" 72 | js-tokens "^4.0.0" 73 | 74 | "@babel/runtime@^7.5.5": 75 | version "7.27.1" 76 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.1.tgz#9fce313d12c9a77507f264de74626e87fd0dc541" 77 | integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog== 78 | 79 | "@changesets/apply-release-plan@^7.0.12": 80 | version "7.0.12" 81 | resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-7.0.12.tgz#8413977f117fa95f6e2db6f0c35479a2eba6960a" 82 | integrity sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ== 83 | dependencies: 84 | "@changesets/config" "^3.1.1" 85 | "@changesets/get-version-range-type" "^0.4.0" 86 | "@changesets/git" "^3.0.4" 87 | "@changesets/should-skip-package" "^0.1.2" 88 | "@changesets/types" "^6.1.0" 89 | "@manypkg/get-packages" "^1.1.3" 90 | detect-indent "^6.0.0" 91 | fs-extra "^7.0.1" 92 | lodash.startcase "^4.4.0" 93 | outdent "^0.5.0" 94 | prettier "^2.7.1" 95 | resolve-from "^5.0.0" 96 | semver "^7.5.3" 97 | 98 | "@changesets/assemble-release-plan@^6.0.7": 99 | version "6.0.7" 100 | resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.7.tgz#0bb54a931ba6cf802e4e7c662fa39237dba94543" 101 | integrity sha512-vS5J92Rm7ZUcrvtu6WvggGWIdohv8s1/3ypRYQX8FsPO+KPDx6JaNC3YwSfh2umY/faGGfNnq42A7PRT0aZPFw== 102 | dependencies: 103 | "@changesets/errors" "^0.2.0" 104 | "@changesets/get-dependents-graph" "^2.1.3" 105 | "@changesets/should-skip-package" "^0.1.2" 106 | "@changesets/types" "^6.1.0" 107 | "@manypkg/get-packages" "^1.1.3" 108 | semver "^7.5.3" 109 | 110 | "@changesets/changelog-git@^0.2.1": 111 | version "0.2.1" 112 | resolved "https://registry.yarnpkg.com/@changesets/changelog-git/-/changelog-git-0.2.1.tgz#7f311f3dc11eae1235aa7fd2c1807112962b409b" 113 | integrity sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q== 114 | dependencies: 115 | "@changesets/types" "^6.1.0" 116 | 117 | "@changesets/changelog-github@^0.5.1": 118 | version "0.5.1" 119 | resolved "https://registry.yarnpkg.com/@changesets/changelog-github/-/changelog-github-0.5.1.tgz#58870f77cdfd6d59c73cc046a61e55e82d606d24" 120 | integrity sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ== 121 | dependencies: 122 | "@changesets/get-github-info" "^0.6.0" 123 | "@changesets/types" "^6.1.0" 124 | dotenv "^8.1.0" 125 | 126 | "@changesets/cli@^2.29.3": 127 | version "2.29.3" 128 | resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.29.3.tgz#fff1736a55a5c7f43869262a307596eb43d6e690" 129 | integrity sha512-TNhKr6Loc7I0CSD9LpAyVNSxWBHElXVmmvQYIZQvaMan5jddmL7geo3+08Wi7ImgHFVNB0Nhju/LzXqlrkoOxg== 130 | dependencies: 131 | "@changesets/apply-release-plan" "^7.0.12" 132 | "@changesets/assemble-release-plan" "^6.0.7" 133 | "@changesets/changelog-git" "^0.2.1" 134 | "@changesets/config" "^3.1.1" 135 | "@changesets/errors" "^0.2.0" 136 | "@changesets/get-dependents-graph" "^2.1.3" 137 | "@changesets/get-release-plan" "^4.0.11" 138 | "@changesets/git" "^3.0.4" 139 | "@changesets/logger" "^0.1.1" 140 | "@changesets/pre" "^2.0.2" 141 | "@changesets/read" "^0.6.5" 142 | "@changesets/should-skip-package" "^0.1.2" 143 | "@changesets/types" "^6.1.0" 144 | "@changesets/write" "^0.4.0" 145 | "@manypkg/get-packages" "^1.1.3" 146 | ansi-colors "^4.1.3" 147 | ci-info "^3.7.0" 148 | enquirer "^2.4.1" 149 | external-editor "^3.1.0" 150 | fs-extra "^7.0.1" 151 | mri "^1.2.0" 152 | p-limit "^2.2.0" 153 | package-manager-detector "^0.2.0" 154 | picocolors "^1.1.0" 155 | resolve-from "^5.0.0" 156 | semver "^7.5.3" 157 | spawndamnit "^3.0.1" 158 | term-size "^2.1.0" 159 | 160 | "@changesets/config@^3.1.1": 161 | version "3.1.1" 162 | resolved "https://registry.yarnpkg.com/@changesets/config/-/config-3.1.1.tgz#3e5b1f74236a4552c5f4eddf2bd05a43a0b71160" 163 | integrity sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA== 164 | dependencies: 165 | "@changesets/errors" "^0.2.0" 166 | "@changesets/get-dependents-graph" "^2.1.3" 167 | "@changesets/logger" "^0.1.1" 168 | "@changesets/types" "^6.1.0" 169 | "@manypkg/get-packages" "^1.1.3" 170 | fs-extra "^7.0.1" 171 | micromatch "^4.0.8" 172 | 173 | "@changesets/errors@^0.2.0": 174 | version "0.2.0" 175 | resolved "https://registry.yarnpkg.com/@changesets/errors/-/errors-0.2.0.tgz#3c545e802b0f053389cadcf0ed54e5636ff9026a" 176 | integrity sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== 177 | dependencies: 178 | extendable-error "^0.1.5" 179 | 180 | "@changesets/get-dependents-graph@^2.1.3": 181 | version "2.1.3" 182 | resolved "https://registry.yarnpkg.com/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.3.tgz#cd31b39daab7102921fb65acdcb51b4658502eee" 183 | integrity sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ== 184 | dependencies: 185 | "@changesets/types" "^6.1.0" 186 | "@manypkg/get-packages" "^1.1.3" 187 | picocolors "^1.1.0" 188 | semver "^7.5.3" 189 | 190 | "@changesets/get-github-info@^0.6.0": 191 | version "0.6.0" 192 | resolved "https://registry.yarnpkg.com/@changesets/get-github-info/-/get-github-info-0.6.0.tgz#faba66a20a3a5a0cbabea28efd43c9ede7429f11" 193 | integrity sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== 194 | dependencies: 195 | dataloader "^1.4.0" 196 | node-fetch "^2.5.0" 197 | 198 | "@changesets/get-release-plan@^4.0.11": 199 | version "4.0.11" 200 | resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-4.0.11.tgz#2a323d021b97c9e7089473e960f8639a7ffa9e53" 201 | integrity sha512-4DZpsewsc/1m5TArVg5h1c0U94am+cJBnu3izAM3yYIZr8+zZwa3AXYdEyCNURzjx0wWr80u/TWoxshbwdZXOA== 202 | dependencies: 203 | "@changesets/assemble-release-plan" "^6.0.7" 204 | "@changesets/config" "^3.1.1" 205 | "@changesets/pre" "^2.0.2" 206 | "@changesets/read" "^0.6.5" 207 | "@changesets/types" "^6.1.0" 208 | "@manypkg/get-packages" "^1.1.3" 209 | 210 | "@changesets/get-version-range-type@^0.4.0": 211 | version "0.4.0" 212 | resolved "https://registry.yarnpkg.com/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz#429a90410eefef4368502c41c63413e291740bf5" 213 | integrity sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== 214 | 215 | "@changesets/ghcommit@^2.0.0": 216 | version "2.0.0" 217 | resolved "https://registry.yarnpkg.com/@changesets/ghcommit/-/ghcommit-2.0.0.tgz#a3d8f733ad7ec9bb1f17c7dc0b64c3f62636305f" 218 | integrity sha512-UFS7mCjh3B8KfiDQi6JbZNDoANdTqLgBKHCwMASZ25A3yfxaFVKURGzwdMdlcYx5k6dHN1igDHzgXuwOyZ9xKg== 219 | dependencies: 220 | isomorphic-git "^1.27.1" 221 | 222 | "@changesets/git@^3.0.4": 223 | version "3.0.4" 224 | resolved "https://registry.yarnpkg.com/@changesets/git/-/git-3.0.4.tgz#75e3811ab407ec010beb51131ceb5c6b3975c914" 225 | integrity sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw== 226 | dependencies: 227 | "@changesets/errors" "^0.2.0" 228 | "@manypkg/get-packages" "^1.1.3" 229 | is-subdir "^1.1.1" 230 | micromatch "^4.0.8" 231 | spawndamnit "^3.0.1" 232 | 233 | "@changesets/logger@^0.1.1": 234 | version "0.1.1" 235 | resolved "https://registry.yarnpkg.com/@changesets/logger/-/logger-0.1.1.tgz#9926ac4dc8fb00472fe1711603b6b4755d64b435" 236 | integrity sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg== 237 | dependencies: 238 | picocolors "^1.1.0" 239 | 240 | "@changesets/parse@^0.4.1": 241 | version "0.4.1" 242 | resolved "https://registry.yarnpkg.com/@changesets/parse/-/parse-0.4.1.tgz#18ba51d2eb784d27469034f06344f8fdcba586df" 243 | integrity sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q== 244 | dependencies: 245 | "@changesets/types" "^6.1.0" 246 | js-yaml "^3.13.1" 247 | 248 | "@changesets/pre@^2.0.2": 249 | version "2.0.2" 250 | resolved "https://registry.yarnpkg.com/@changesets/pre/-/pre-2.0.2.tgz#b35e84d25fca8b970340642ca04ce76c7fc34ced" 251 | integrity sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug== 252 | dependencies: 253 | "@changesets/errors" "^0.2.0" 254 | "@changesets/types" "^6.1.0" 255 | "@manypkg/get-packages" "^1.1.3" 256 | fs-extra "^7.0.1" 257 | 258 | "@changesets/read@^0.6.5": 259 | version "0.6.5" 260 | resolved "https://registry.yarnpkg.com/@changesets/read/-/read-0.6.5.tgz#7a68457e6356d3df187aa18e388f1b8dba3d2156" 261 | integrity sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg== 262 | dependencies: 263 | "@changesets/git" "^3.0.4" 264 | "@changesets/logger" "^0.1.1" 265 | "@changesets/parse" "^0.4.1" 266 | "@changesets/types" "^6.1.0" 267 | fs-extra "^7.0.1" 268 | p-filter "^2.1.0" 269 | picocolors "^1.1.0" 270 | 271 | "@changesets/should-skip-package@^0.1.2": 272 | version "0.1.2" 273 | resolved "https://registry.yarnpkg.com/@changesets/should-skip-package/-/should-skip-package-0.1.2.tgz#c018e1e05eab3d97afa4c4590f2b0db7486ae488" 274 | integrity sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw== 275 | dependencies: 276 | "@changesets/types" "^6.1.0" 277 | "@manypkg/get-packages" "^1.1.3" 278 | 279 | "@changesets/types@^4.0.1": 280 | version "4.1.0" 281 | resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" 282 | integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== 283 | 284 | "@changesets/types@^6.1.0": 285 | version "6.1.0" 286 | resolved "https://registry.yarnpkg.com/@changesets/types/-/types-6.1.0.tgz#12a4c8490827d26bc6fbf97a151499be2fb6d2f5" 287 | integrity sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA== 288 | 289 | "@changesets/write@^0.4.0": 290 | version "0.4.0" 291 | resolved "https://registry.yarnpkg.com/@changesets/write/-/write-0.4.0.tgz#ec903cbd8aa9b6da6fa09ef19fb609eedd115ed6" 292 | integrity sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q== 293 | dependencies: 294 | "@changesets/types" "^6.1.0" 295 | fs-extra "^7.0.1" 296 | human-id "^4.1.1" 297 | prettier "^2.7.1" 298 | 299 | "@esbuild/aix-ppc64@0.25.4": 300 | version "0.25.4" 301 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz#830d6476cbbca0c005136af07303646b419f1162" 302 | integrity sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q== 303 | 304 | "@esbuild/android-arm64@0.25.4": 305 | version "0.25.4" 306 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz#d11d4fc299224e729e2190cacadbcc00e7a9fd67" 307 | integrity sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A== 308 | 309 | "@esbuild/android-arm@0.25.4": 310 | version "0.25.4" 311 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.4.tgz#5660bd25080553dd2a28438f2a401a29959bd9b1" 312 | integrity sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ== 313 | 314 | "@esbuild/android-x64@0.25.4": 315 | version "0.25.4" 316 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.4.tgz#18ddde705bf984e8cd9efec54e199ac18bc7bee1" 317 | integrity sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ== 318 | 319 | "@esbuild/darwin-arm64@0.25.4": 320 | version "0.25.4" 321 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz#b0b7fb55db8fc6f5de5a0207ae986eb9c4766e67" 322 | integrity sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g== 323 | 324 | "@esbuild/darwin-x64@0.25.4": 325 | version "0.25.4" 326 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz#e6813fdeba0bba356cb350a4b80543fbe66bf26f" 327 | integrity sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A== 328 | 329 | "@esbuild/freebsd-arm64@0.25.4": 330 | version "0.25.4" 331 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz#dc11a73d3ccdc308567b908b43c6698e850759be" 332 | integrity sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ== 333 | 334 | "@esbuild/freebsd-x64@0.25.4": 335 | version "0.25.4" 336 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz#91da08db8bd1bff5f31924c57a81dab26e93a143" 337 | integrity sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ== 338 | 339 | "@esbuild/linux-arm64@0.25.4": 340 | version "0.25.4" 341 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz#efc15e45c945a082708f9a9f73bfa8d4db49728a" 342 | integrity sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ== 343 | 344 | "@esbuild/linux-arm@0.25.4": 345 | version "0.25.4" 346 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz#9b93c3e54ac49a2ede6f906e705d5d906f6db9e8" 347 | integrity sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ== 348 | 349 | "@esbuild/linux-ia32@0.25.4": 350 | version "0.25.4" 351 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz#be8ef2c3e1d99fca2d25c416b297d00360623596" 352 | integrity sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ== 353 | 354 | "@esbuild/linux-loong64@0.25.4": 355 | version "0.25.4" 356 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz#b0840a2707c3fc02eec288d3f9defa3827cd7a87" 357 | integrity sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA== 358 | 359 | "@esbuild/linux-mips64el@0.25.4": 360 | version "0.25.4" 361 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz#2a198e5a458c9f0e75881a4e63d26ba0cf9df39f" 362 | integrity sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg== 363 | 364 | "@esbuild/linux-ppc64@0.25.4": 365 | version "0.25.4" 366 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz#64f4ae0b923d7dd72fb860b9b22edb42007cf8f5" 367 | integrity sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag== 368 | 369 | "@esbuild/linux-riscv64@0.25.4": 370 | version "0.25.4" 371 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz#fb2844b11fdddd39e29d291c7cf80f99b0d5158d" 372 | integrity sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA== 373 | 374 | "@esbuild/linux-s390x@0.25.4": 375 | version "0.25.4" 376 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz#1466876e0aa3560c7673e63fdebc8278707bc750" 377 | integrity sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g== 378 | 379 | "@esbuild/linux-x64@0.25.4": 380 | version "0.25.4" 381 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz#c10fde899455db7cba5f11b3bccfa0e41bf4d0cd" 382 | integrity sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA== 383 | 384 | "@esbuild/netbsd-arm64@0.25.4": 385 | version "0.25.4" 386 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz#02e483fbcbe3f18f0b02612a941b77be76c111a4" 387 | integrity sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ== 388 | 389 | "@esbuild/netbsd-x64@0.25.4": 390 | version "0.25.4" 391 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz#ec401fb0b1ed0ac01d978564c5fc8634ed1dc2ed" 392 | integrity sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw== 393 | 394 | "@esbuild/openbsd-arm64@0.25.4": 395 | version "0.25.4" 396 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz#f272c2f41cfea1d91b93d487a51b5c5ca7a8c8c4" 397 | integrity sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A== 398 | 399 | "@esbuild/openbsd-x64@0.25.4": 400 | version "0.25.4" 401 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz#2e25950bc10fa9db1e5c868e3d50c44f7c150fd7" 402 | integrity sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw== 403 | 404 | "@esbuild/sunos-x64@0.25.4": 405 | version "0.25.4" 406 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz#cd596fa65a67b3b7adc5ecd52d9f5733832e1abd" 407 | integrity sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q== 408 | 409 | "@esbuild/win32-arm64@0.25.4": 410 | version "0.25.4" 411 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz#b4dbcb57b21eeaf8331e424c3999b89d8951dc88" 412 | integrity sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ== 413 | 414 | "@esbuild/win32-ia32@0.25.4": 415 | version "0.25.4" 416 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz#410842e5d66d4ece1757634e297a87635eb82f7a" 417 | integrity sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg== 418 | 419 | "@esbuild/win32-x64@0.25.4": 420 | version "0.25.4" 421 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz#0b17ec8a70b2385827d52314c1253160a0b9bacc" 422 | integrity sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ== 423 | 424 | "@fastify/busboy@^2.0.0": 425 | version "2.1.1" 426 | resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" 427 | integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== 428 | 429 | "@jridgewell/gen-mapping@^0.3.5": 430 | version "0.3.8" 431 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" 432 | integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== 433 | dependencies: 434 | "@jridgewell/set-array" "^1.2.1" 435 | "@jridgewell/sourcemap-codec" "^1.4.10" 436 | "@jridgewell/trace-mapping" "^0.3.24" 437 | 438 | "@jridgewell/resolve-uri@^3.1.0": 439 | version "3.1.2" 440 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 441 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 442 | 443 | "@jridgewell/set-array@^1.2.1": 444 | version "1.2.1" 445 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" 446 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== 447 | 448 | "@jridgewell/source-map@^0.3.3": 449 | version "0.3.6" 450 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" 451 | integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== 452 | dependencies: 453 | "@jridgewell/gen-mapping" "^0.3.5" 454 | "@jridgewell/trace-mapping" "^0.3.25" 455 | 456 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": 457 | version "1.5.0" 458 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" 459 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== 460 | 461 | "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": 462 | version "0.3.25" 463 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" 464 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== 465 | dependencies: 466 | "@jridgewell/resolve-uri" "^3.1.0" 467 | "@jridgewell/sourcemap-codec" "^1.4.14" 468 | 469 | "@manypkg/find-root@^1.1.0": 470 | version "1.1.0" 471 | resolved "https://registry.yarnpkg.com/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" 472 | integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== 473 | dependencies: 474 | "@babel/runtime" "^7.5.5" 475 | "@types/node" "^12.7.1" 476 | find-up "^4.1.0" 477 | fs-extra "^8.1.0" 478 | 479 | "@manypkg/get-packages@^1.1.3": 480 | version "1.1.3" 481 | resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" 482 | integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== 483 | dependencies: 484 | "@babel/runtime" "^7.5.5" 485 | "@changesets/types" "^4.0.1" 486 | "@manypkg/find-root" "^1.1.0" 487 | fs-extra "^8.1.0" 488 | globby "^11.0.0" 489 | read-yaml-file "^1.1.0" 490 | 491 | "@nodelib/fs.scandir@2.1.5": 492 | version "2.1.5" 493 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 494 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 495 | dependencies: 496 | "@nodelib/fs.stat" "2.0.5" 497 | run-parallel "^1.1.9" 498 | 499 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 500 | version "2.0.5" 501 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 502 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 503 | 504 | "@nodelib/fs.walk@^1.2.3": 505 | version "1.2.8" 506 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 507 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 508 | dependencies: 509 | "@nodelib/fs.scandir" "2.1.5" 510 | fastq "^1.6.0" 511 | 512 | "@octokit/auth-token@^4.0.0": 513 | version "4.0.0" 514 | resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" 515 | integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== 516 | 517 | "@octokit/core@^5.0.1", "@octokit/core@^5.2.1": 518 | version "5.2.1" 519 | resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.1.tgz#58c21a5f689ee81e0b883b5aa77573a7ff1b4ea1" 520 | integrity sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ== 521 | dependencies: 522 | "@octokit/auth-token" "^4.0.0" 523 | "@octokit/graphql" "^7.1.0" 524 | "@octokit/request" "^8.4.1" 525 | "@octokit/request-error" "^5.1.1" 526 | "@octokit/types" "^13.0.0" 527 | before-after-hook "^2.2.0" 528 | universal-user-agent "^6.0.0" 529 | 530 | "@octokit/endpoint@^9.0.6": 531 | version "9.0.6" 532 | resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.6.tgz#114d912108fe692d8b139cfe7fc0846dfd11b6c0" 533 | integrity sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw== 534 | dependencies: 535 | "@octokit/types" "^13.1.0" 536 | universal-user-agent "^6.0.0" 537 | 538 | "@octokit/graphql@^7.1.0": 539 | version "7.1.1" 540 | resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.1.tgz#79d9f3d0c96a8fd13d64186fe5c33606d48b79cc" 541 | integrity sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g== 542 | dependencies: 543 | "@octokit/request" "^8.4.1" 544 | "@octokit/types" "^13.0.0" 545 | universal-user-agent "^6.0.0" 546 | 547 | "@octokit/openapi-types@^20.0.0": 548 | version "20.0.0" 549 | resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" 550 | integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== 551 | 552 | "@octokit/openapi-types@^24.2.0": 553 | version "24.2.0" 554 | resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-24.2.0.tgz#3d55c32eac0d38da1a7083a9c3b0cca77924f7d3" 555 | integrity sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg== 556 | 557 | "@octokit/plugin-paginate-rest@^9.2.2": 558 | version "9.2.2" 559 | resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz#c516bc498736bcdaa9095b9a1d10d9d0501ae831" 560 | integrity sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ== 561 | dependencies: 562 | "@octokit/types" "^12.6.0" 563 | 564 | "@octokit/plugin-rest-endpoint-methods@^10.4.0": 565 | version "10.4.1" 566 | resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" 567 | integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== 568 | dependencies: 569 | "@octokit/types" "^12.6.0" 570 | 571 | "@octokit/plugin-throttling@^8.0.0": 572 | version "8.2.0" 573 | resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz#9ec3ea2e37b92fac63f06911d0c8141b46dc4941" 574 | integrity sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ== 575 | dependencies: 576 | "@octokit/types" "^12.2.0" 577 | bottleneck "^2.15.3" 578 | 579 | "@octokit/request-error@^5.1.1": 580 | version "5.1.1" 581 | resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.1.tgz#b9218f9c1166e68bb4d0c89b638edc62c9334805" 582 | integrity sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g== 583 | dependencies: 584 | "@octokit/types" "^13.1.0" 585 | deprecation "^2.0.0" 586 | once "^1.4.0" 587 | 588 | "@octokit/request@^8.4.1": 589 | version "8.4.1" 590 | resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.1.tgz#715a015ccf993087977ea4365c44791fc4572486" 591 | integrity sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw== 592 | dependencies: 593 | "@octokit/endpoint" "^9.0.6" 594 | "@octokit/request-error" "^5.1.1" 595 | "@octokit/types" "^13.1.0" 596 | universal-user-agent "^6.0.0" 597 | 598 | "@octokit/types@^12.2.0", "@octokit/types@^12.6.0": 599 | version "12.6.0" 600 | resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" 601 | integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== 602 | dependencies: 603 | "@octokit/openapi-types" "^20.0.0" 604 | 605 | "@octokit/types@^13.0.0", "@octokit/types@^13.1.0": 606 | version "13.10.0" 607 | resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.10.0.tgz#3e7c6b19c0236c270656e4ea666148c2b51fd1a3" 608 | integrity sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA== 609 | dependencies: 610 | "@octokit/openapi-types" "^24.2.0" 611 | 612 | "@rollup/plugin-commonjs@^28.0.3": 613 | version "28.0.3" 614 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.3.tgz#44c2cc7c955c6113b96696b55e6bc2446bd67913" 615 | integrity sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ== 616 | dependencies: 617 | "@rollup/pluginutils" "^5.0.1" 618 | commondir "^1.0.1" 619 | estree-walker "^2.0.2" 620 | fdir "^6.2.0" 621 | is-reference "1.2.1" 622 | magic-string "^0.30.3" 623 | picomatch "^4.0.2" 624 | 625 | "@rollup/plugin-json@^6.1.0": 626 | version "6.1.0" 627 | resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-6.1.0.tgz#fbe784e29682e9bb6dee28ea75a1a83702e7b805" 628 | integrity sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA== 629 | dependencies: 630 | "@rollup/pluginutils" "^5.1.0" 631 | 632 | "@rollup/plugin-node-resolve@^16.0.1": 633 | version "16.0.1" 634 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz#2fc6b54ca3d77e12f3fb45b2a55b50720de4c95d" 635 | integrity sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA== 636 | dependencies: 637 | "@rollup/pluginutils" "^5.0.1" 638 | "@types/resolve" "1.20.2" 639 | deepmerge "^4.2.2" 640 | is-module "^1.0.0" 641 | resolve "^1.22.1" 642 | 643 | "@rollup/plugin-terser@^0.4.4": 644 | version "0.4.4" 645 | resolved "https://registry.yarnpkg.com/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz#15dffdb3f73f121aa4fbb37e7ca6be9aeea91962" 646 | integrity sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A== 647 | dependencies: 648 | serialize-javascript "^6.0.1" 649 | smob "^1.0.0" 650 | terser "^5.17.4" 651 | 652 | "@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.1.0": 653 | version "5.1.4" 654 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz#bb94f1f9eaaac944da237767cdfee6c5b2262d4a" 655 | integrity sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ== 656 | dependencies: 657 | "@types/estree" "^1.0.0" 658 | estree-walker "^2.0.2" 659 | picomatch "^4.0.2" 660 | 661 | "@rollup/rollup-android-arm-eabi@4.40.2": 662 | version "4.40.2" 663 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz#c228d00a41f0dbd6fb8b7ea819bbfbf1c1157a10" 664 | integrity sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg== 665 | 666 | "@rollup/rollup-android-arm64@4.40.2": 667 | version "4.40.2" 668 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz#e2b38d0c912169fd55d7e38d723aada208d37256" 669 | integrity sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw== 670 | 671 | "@rollup/rollup-darwin-arm64@4.40.2": 672 | version "4.40.2" 673 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz#1fddb3690f2ae33df16d334c613377f05abe4878" 674 | integrity sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w== 675 | 676 | "@rollup/rollup-darwin-x64@4.40.2": 677 | version "4.40.2" 678 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz#818298d11c8109e1112590165142f14be24b396d" 679 | integrity sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ== 680 | 681 | "@rollup/rollup-freebsd-arm64@4.40.2": 682 | version "4.40.2" 683 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz#91a28dc527d5bed7f9ecf0e054297b3012e19618" 684 | integrity sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ== 685 | 686 | "@rollup/rollup-freebsd-x64@4.40.2": 687 | version "4.40.2" 688 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz#28acadefa76b5c7bede1576e065b51d335c62c62" 689 | integrity sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q== 690 | 691 | "@rollup/rollup-linux-arm-gnueabihf@4.40.2": 692 | version "4.40.2" 693 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz#819691464179cbcd9a9f9d3dc7617954840c6186" 694 | integrity sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q== 695 | 696 | "@rollup/rollup-linux-arm-musleabihf@4.40.2": 697 | version "4.40.2" 698 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz#d149207039e4189e267e8724050388effc80d704" 699 | integrity sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg== 700 | 701 | "@rollup/rollup-linux-arm64-gnu@4.40.2": 702 | version "4.40.2" 703 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz#fa72ebddb729c3c6d88973242f1a2153c83e86ec" 704 | integrity sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg== 705 | 706 | "@rollup/rollup-linux-arm64-musl@4.40.2": 707 | version "4.40.2" 708 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz#2054216e34469ab8765588ebf343d531fc3c9228" 709 | integrity sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg== 710 | 711 | "@rollup/rollup-linux-loongarch64-gnu@4.40.2": 712 | version "4.40.2" 713 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz#818de242291841afbfc483a84f11e9c7a11959bc" 714 | integrity sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw== 715 | 716 | "@rollup/rollup-linux-powerpc64le-gnu@4.40.2": 717 | version "4.40.2" 718 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz#0bb4cb8fc4a2c635f68c1208c924b2145eb647cb" 719 | integrity sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q== 720 | 721 | "@rollup/rollup-linux-riscv64-gnu@4.40.2": 722 | version "4.40.2" 723 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz#4b3b8e541b7b13e447ae07774217d98c06f6926d" 724 | integrity sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg== 725 | 726 | "@rollup/rollup-linux-riscv64-musl@4.40.2": 727 | version "4.40.2" 728 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz#e065405e67d8bd64a7d0126c931bd9f03910817f" 729 | integrity sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg== 730 | 731 | "@rollup/rollup-linux-s390x-gnu@4.40.2": 732 | version "4.40.2" 733 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz#dda3265bbbfe16a5d0089168fd07f5ebb2a866fe" 734 | integrity sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ== 735 | 736 | "@rollup/rollup-linux-x64-gnu@4.40.2": 737 | version "4.40.2" 738 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz#90993269b8b995b4067b7b9d72ff1c360ef90a17" 739 | integrity sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng== 740 | 741 | "@rollup/rollup-linux-x64-musl@4.40.2": 742 | version "4.40.2" 743 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz#fdf5b09fd121eb8d977ebb0fda142c7c0167b8de" 744 | integrity sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA== 745 | 746 | "@rollup/rollup-win32-arm64-msvc@4.40.2": 747 | version "4.40.2" 748 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz#6397e1e012db64dfecfed0774cb9fcf89503d716" 749 | integrity sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg== 750 | 751 | "@rollup/rollup-win32-ia32-msvc@4.40.2": 752 | version "4.40.2" 753 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz#df0991464a52a35506103fe18d29913bf8798a0c" 754 | integrity sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA== 755 | 756 | "@rollup/rollup-win32-x64-msvc@4.40.2": 757 | version "4.40.2" 758 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz#8dae04d01a2cbd84d6297d99356674c6b993f0fc" 759 | integrity sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA== 760 | 761 | "@types/estree@*", "@types/estree@1.0.7", "@types/estree@^1.0.0": 762 | version "1.0.7" 763 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" 764 | integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== 765 | 766 | "@types/mdast@^3.0.0": 767 | version "3.0.15" 768 | resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" 769 | integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== 770 | dependencies: 771 | "@types/unist" "^2" 772 | 773 | "@types/node@^12.7.1": 774 | version "12.20.55" 775 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" 776 | integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== 777 | 778 | "@types/node@^22.15.17": 779 | version "22.15.17" 780 | resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.17.tgz#355ccec95f705b664e4332bb64a7f07db30b7055" 781 | integrity sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw== 782 | dependencies: 783 | undici-types "~6.21.0" 784 | 785 | "@types/normalize-package-data@^2.4.0": 786 | version "2.4.1" 787 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" 788 | integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== 789 | 790 | "@types/resolve@1.20.2": 791 | version "1.20.2" 792 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" 793 | integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== 794 | 795 | "@types/semver@^7.5.0": 796 | version "7.5.0" 797 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" 798 | integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== 799 | 800 | "@types/unist@^2": 801 | version "2.0.11" 802 | resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" 803 | integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== 804 | 805 | "@types/unist@^2.0.0", "@types/unist@^2.0.2": 806 | version "2.0.6" 807 | resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" 808 | integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== 809 | 810 | "@vitest/expect@3.1.3": 811 | version "3.1.3" 812 | resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.1.3.tgz#bbca175cd2f23d7de9448a215baed8f3d7abd7b7" 813 | integrity sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg== 814 | dependencies: 815 | "@vitest/spy" "3.1.3" 816 | "@vitest/utils" "3.1.3" 817 | chai "^5.2.0" 818 | tinyrainbow "^2.0.0" 819 | 820 | "@vitest/mocker@3.1.3": 821 | version "3.1.3" 822 | resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.1.3.tgz#121d0f2fcca20c9ccada9e2d6e761f7fc687f4ce" 823 | integrity sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ== 824 | dependencies: 825 | "@vitest/spy" "3.1.3" 826 | estree-walker "^3.0.3" 827 | magic-string "^0.30.17" 828 | 829 | "@vitest/pretty-format@3.1.3", "@vitest/pretty-format@^3.1.3": 830 | version "3.1.3" 831 | resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.1.3.tgz#760b9eab5f253d7d2e7dcd28ef34570f584023d4" 832 | integrity sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA== 833 | dependencies: 834 | tinyrainbow "^2.0.0" 835 | 836 | "@vitest/runner@3.1.3": 837 | version "3.1.3" 838 | resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.1.3.tgz#b268fa90fca38fab363f1107f057c0a2a141ee45" 839 | integrity sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA== 840 | dependencies: 841 | "@vitest/utils" "3.1.3" 842 | pathe "^2.0.3" 843 | 844 | "@vitest/snapshot@3.1.3": 845 | version "3.1.3" 846 | resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.1.3.tgz#39a8f9f8c6ba732ffde59adeacf0a549bef11e76" 847 | integrity sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ== 848 | dependencies: 849 | "@vitest/pretty-format" "3.1.3" 850 | magic-string "^0.30.17" 851 | pathe "^2.0.3" 852 | 853 | "@vitest/spy@3.1.3": 854 | version "3.1.3" 855 | resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.1.3.tgz#ca81e2b4f0c3d6c75f35defa77c3336f39c8f605" 856 | integrity sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ== 857 | dependencies: 858 | tinyspy "^3.0.2" 859 | 860 | "@vitest/utils@3.1.3": 861 | version "3.1.3" 862 | resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.1.3.tgz#4f31bdfd646cd82d30bfa730d7410cb59d529669" 863 | integrity sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg== 864 | dependencies: 865 | "@vitest/pretty-format" "3.1.3" 866 | loupe "^3.1.3" 867 | tinyrainbow "^2.0.0" 868 | 869 | acorn@^8.14.0: 870 | version "8.14.1" 871 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" 872 | integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== 873 | 874 | ansi-colors@^4.1.1, ansi-colors@^4.1.3: 875 | version "4.1.3" 876 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" 877 | integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== 878 | 879 | ansi-regex@^5.0.1: 880 | version "5.0.1" 881 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 882 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 883 | 884 | ansi-styles@^3.2.1: 885 | version "3.2.1" 886 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 887 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 888 | dependencies: 889 | color-convert "^1.9.0" 890 | 891 | argparse@^1.0.7: 892 | version "1.0.10" 893 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 894 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 895 | dependencies: 896 | sprintf-js "~1.0.2" 897 | 898 | array-union@^1.0.1: 899 | version "1.0.2" 900 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 901 | integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== 902 | dependencies: 903 | array-uniq "^1.0.1" 904 | 905 | array-union@^2.1.0: 906 | version "2.1.0" 907 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 908 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 909 | 910 | array-uniq@^1.0.1: 911 | version "1.0.3" 912 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 913 | integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== 914 | 915 | assertion-error@^2.0.1: 916 | version "2.0.1" 917 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" 918 | integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== 919 | 920 | async-lock@^1.4.1: 921 | version "1.4.1" 922 | resolved "https://registry.yarnpkg.com/async-lock/-/async-lock-1.4.1.tgz#56b8718915a9b68b10fce2f2a9a3dddf765ef53f" 923 | integrity sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ== 924 | 925 | bail@^1.0.0: 926 | version "1.0.5" 927 | resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" 928 | integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== 929 | 930 | balanced-match@^1.0.0: 931 | version "1.0.2" 932 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 933 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 934 | 935 | before-after-hook@^2.2.0: 936 | version "2.2.3" 937 | resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" 938 | integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== 939 | 940 | better-path-resolve@1.0.0: 941 | version "1.0.0" 942 | resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" 943 | integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== 944 | dependencies: 945 | is-windows "^1.0.0" 946 | 947 | bottleneck@^2.15.3: 948 | version "2.19.5" 949 | resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" 950 | integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== 951 | 952 | brace-expansion@^1.1.7: 953 | version "1.1.11" 954 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 955 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 956 | dependencies: 957 | balanced-match "^1.0.0" 958 | concat-map "0.0.1" 959 | 960 | braces@^3.0.2: 961 | version "3.0.2" 962 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 963 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 964 | dependencies: 965 | fill-range "^7.0.1" 966 | 967 | braces@^3.0.3: 968 | version "3.0.3" 969 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" 970 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 971 | dependencies: 972 | fill-range "^7.1.1" 973 | 974 | buffer-from@^1.0.0: 975 | version "1.1.2" 976 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 977 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 978 | 979 | builtin-modules@^5.0.0: 980 | version "5.0.0" 981 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-5.0.0.tgz#9be95686dedad2e9eed05592b07733db87dcff1a" 982 | integrity sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg== 983 | 984 | cac@^6.7.14: 985 | version "6.7.14" 986 | resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" 987 | integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== 988 | 989 | caller-callsite@^2.0.0: 990 | version "2.0.0" 991 | resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" 992 | integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== 993 | dependencies: 994 | callsites "^2.0.0" 995 | 996 | caller-path@^2.0.0: 997 | version "2.0.0" 998 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" 999 | integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== 1000 | dependencies: 1001 | caller-callsite "^2.0.0" 1002 | 1003 | callsites@^2.0.0: 1004 | version "2.0.0" 1005 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 1006 | integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== 1007 | 1008 | ccount@^1.0.0: 1009 | version "1.1.0" 1010 | resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" 1011 | integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== 1012 | 1013 | chai@^5.2.0: 1014 | version "5.2.0" 1015 | resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05" 1016 | integrity sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw== 1017 | dependencies: 1018 | assertion-error "^2.0.1" 1019 | check-error "^2.1.1" 1020 | deep-eql "^5.0.1" 1021 | loupe "^3.1.0" 1022 | pathval "^2.0.0" 1023 | 1024 | chalk@^2.0.0, chalk@^2.4.2: 1025 | version "2.4.2" 1026 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1027 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1028 | dependencies: 1029 | ansi-styles "^3.2.1" 1030 | escape-string-regexp "^1.0.5" 1031 | supports-color "^5.3.0" 1032 | 1033 | character-entities-html4@^1.0.0: 1034 | version "1.1.4" 1035 | resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" 1036 | integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== 1037 | 1038 | character-entities-legacy@^1.0.0: 1039 | version "1.1.4" 1040 | resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" 1041 | integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== 1042 | 1043 | character-entities@^1.0.0: 1044 | version "1.2.4" 1045 | resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" 1046 | integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== 1047 | 1048 | character-reference-invalid@^1.0.0: 1049 | version "1.1.4" 1050 | resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" 1051 | integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== 1052 | 1053 | chardet@^0.7.0: 1054 | version "0.7.0" 1055 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 1056 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 1057 | 1058 | check-error@^2.1.1: 1059 | version "2.1.1" 1060 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" 1061 | integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== 1062 | 1063 | ci-info@^2.0.0: 1064 | version "2.0.0" 1065 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 1066 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 1067 | 1068 | ci-info@^3.7.0: 1069 | version "3.9.0" 1070 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" 1071 | integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== 1072 | 1073 | clean-git-ref@^2.0.1: 1074 | version "2.0.1" 1075 | resolved "https://registry.yarnpkg.com/clean-git-ref/-/clean-git-ref-2.0.1.tgz#dcc0ca093b90e527e67adb5a5e55b1af6816dcd9" 1076 | integrity sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw== 1077 | 1078 | collapse-white-space@^1.0.2: 1079 | version "1.0.6" 1080 | resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" 1081 | integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== 1082 | 1083 | color-convert@^1.9.0: 1084 | version "1.9.3" 1085 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1086 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1087 | dependencies: 1088 | color-name "1.1.3" 1089 | 1090 | color-name@1.1.3: 1091 | version "1.1.3" 1092 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1093 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1094 | 1095 | commander@^2.20.0: 1096 | version "2.20.3" 1097 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 1098 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 1099 | 1100 | commondir@^1.0.1: 1101 | version "1.0.1" 1102 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1103 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 1104 | 1105 | concat-map@0.0.1: 1106 | version "0.0.1" 1107 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1108 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1109 | 1110 | cosmiconfig@^5.2.1: 1111 | version "5.2.1" 1112 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" 1113 | integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== 1114 | dependencies: 1115 | import-fresh "^2.0.0" 1116 | is-directory "^0.3.1" 1117 | js-yaml "^3.13.1" 1118 | parse-json "^4.0.0" 1119 | 1120 | crc-32@^1.2.0: 1121 | version "1.2.2" 1122 | resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" 1123 | integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== 1124 | 1125 | cross-spawn@^6.0.0: 1126 | version "6.0.5" 1127 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 1128 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 1129 | dependencies: 1130 | nice-try "^1.0.4" 1131 | path-key "^2.0.1" 1132 | semver "^5.5.0" 1133 | shebang-command "^1.2.0" 1134 | which "^1.2.9" 1135 | 1136 | cross-spawn@^7.0.5: 1137 | version "7.0.6" 1138 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" 1139 | integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== 1140 | dependencies: 1141 | path-key "^3.1.0" 1142 | shebang-command "^2.0.0" 1143 | which "^2.0.1" 1144 | 1145 | crypto-random-string@^1.0.0: 1146 | version "1.0.0" 1147 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 1148 | integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== 1149 | 1150 | dataloader@^1.4.0: 1151 | version "1.4.0" 1152 | resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" 1153 | integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== 1154 | 1155 | debug@^4.4.0: 1156 | version "4.4.0" 1157 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" 1158 | integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== 1159 | dependencies: 1160 | ms "^2.1.3" 1161 | 1162 | decompress-response@^6.0.0: 1163 | version "6.0.0" 1164 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" 1165 | integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== 1166 | dependencies: 1167 | mimic-response "^3.1.0" 1168 | 1169 | deep-eql@^5.0.1: 1170 | version "5.0.2" 1171 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" 1172 | integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== 1173 | 1174 | deepmerge@^4.2.2: 1175 | version "4.3.1" 1176 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" 1177 | integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 1178 | 1179 | deprecation@^2.0.0: 1180 | version "2.3.1" 1181 | resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" 1182 | integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== 1183 | 1184 | detect-indent@^6.0.0: 1185 | version "6.1.0" 1186 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" 1187 | integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== 1188 | 1189 | diff3@0.0.3: 1190 | version "0.0.3" 1191 | resolved "https://registry.yarnpkg.com/diff3/-/diff3-0.0.3.tgz#d4e5c3a4cdf4e5fe1211ab42e693fcb4321580fc" 1192 | integrity sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g== 1193 | 1194 | dir-glob@^2.0.0: 1195 | version "2.2.2" 1196 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" 1197 | integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== 1198 | dependencies: 1199 | path-type "^3.0.0" 1200 | 1201 | dir-glob@^3.0.1: 1202 | version "3.0.1" 1203 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1204 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1205 | dependencies: 1206 | path-type "^4.0.0" 1207 | 1208 | dotenv@^8.1.0: 1209 | version "8.6.0" 1210 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" 1211 | integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== 1212 | 1213 | end-of-stream@^1.1.0: 1214 | version "1.4.4" 1215 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1216 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 1217 | dependencies: 1218 | once "^1.4.0" 1219 | 1220 | enquirer@^2.4.1: 1221 | version "2.4.1" 1222 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" 1223 | integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== 1224 | dependencies: 1225 | ansi-colors "^4.1.1" 1226 | strip-ansi "^6.0.1" 1227 | 1228 | error-ex@^1.3.1: 1229 | version "1.3.2" 1230 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1231 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1232 | dependencies: 1233 | is-arrayish "^0.2.1" 1234 | 1235 | es-module-lexer@^1.7.0: 1236 | version "1.7.0" 1237 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" 1238 | integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== 1239 | 1240 | esbuild@^0.25.0, esbuild@^0.25.4: 1241 | version "0.25.4" 1242 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.4.tgz#bb9a16334d4ef2c33c7301a924b8b863351a0854" 1243 | integrity sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q== 1244 | optionalDependencies: 1245 | "@esbuild/aix-ppc64" "0.25.4" 1246 | "@esbuild/android-arm" "0.25.4" 1247 | "@esbuild/android-arm64" "0.25.4" 1248 | "@esbuild/android-x64" "0.25.4" 1249 | "@esbuild/darwin-arm64" "0.25.4" 1250 | "@esbuild/darwin-x64" "0.25.4" 1251 | "@esbuild/freebsd-arm64" "0.25.4" 1252 | "@esbuild/freebsd-x64" "0.25.4" 1253 | "@esbuild/linux-arm" "0.25.4" 1254 | "@esbuild/linux-arm64" "0.25.4" 1255 | "@esbuild/linux-ia32" "0.25.4" 1256 | "@esbuild/linux-loong64" "0.25.4" 1257 | "@esbuild/linux-mips64el" "0.25.4" 1258 | "@esbuild/linux-ppc64" "0.25.4" 1259 | "@esbuild/linux-riscv64" "0.25.4" 1260 | "@esbuild/linux-s390x" "0.25.4" 1261 | "@esbuild/linux-x64" "0.25.4" 1262 | "@esbuild/netbsd-arm64" "0.25.4" 1263 | "@esbuild/netbsd-x64" "0.25.4" 1264 | "@esbuild/openbsd-arm64" "0.25.4" 1265 | "@esbuild/openbsd-x64" "0.25.4" 1266 | "@esbuild/sunos-x64" "0.25.4" 1267 | "@esbuild/win32-arm64" "0.25.4" 1268 | "@esbuild/win32-ia32" "0.25.4" 1269 | "@esbuild/win32-x64" "0.25.4" 1270 | 1271 | escape-string-regexp@^1.0.5: 1272 | version "1.0.5" 1273 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1274 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1275 | 1276 | esprima@^4.0.0: 1277 | version "4.0.1" 1278 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1279 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1280 | 1281 | estree-walker@^2.0.2: 1282 | version "2.0.2" 1283 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1284 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1285 | 1286 | estree-walker@^3.0.3: 1287 | version "3.0.3" 1288 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" 1289 | integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== 1290 | dependencies: 1291 | "@types/estree" "^1.0.0" 1292 | 1293 | execa@^1.0.0: 1294 | version "1.0.0" 1295 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 1296 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 1297 | dependencies: 1298 | cross-spawn "^6.0.0" 1299 | get-stream "^4.0.0" 1300 | is-stream "^1.1.0" 1301 | npm-run-path "^2.0.0" 1302 | p-finally "^1.0.0" 1303 | signal-exit "^3.0.0" 1304 | strip-eof "^1.0.0" 1305 | 1306 | expect-type@^1.2.1: 1307 | version "1.2.1" 1308 | resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.2.1.tgz#af76d8b357cf5fa76c41c09dafb79c549e75f71f" 1309 | integrity sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw== 1310 | 1311 | extend@^3.0.0: 1312 | version "3.0.2" 1313 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1314 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1315 | 1316 | extendable-error@^0.1.5: 1317 | version "0.1.7" 1318 | resolved "https://registry.yarnpkg.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" 1319 | integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== 1320 | 1321 | external-editor@^3.1.0: 1322 | version "3.1.0" 1323 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 1324 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 1325 | dependencies: 1326 | chardet "^0.7.0" 1327 | iconv-lite "^0.4.24" 1328 | tmp "^0.0.33" 1329 | 1330 | fast-glob@^3.2.9: 1331 | version "3.2.12" 1332 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 1333 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 1334 | dependencies: 1335 | "@nodelib/fs.stat" "^2.0.2" 1336 | "@nodelib/fs.walk" "^1.2.3" 1337 | glob-parent "^5.1.2" 1338 | merge2 "^1.3.0" 1339 | micromatch "^4.0.4" 1340 | 1341 | fastq@^1.6.0: 1342 | version "1.15.0" 1343 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 1344 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 1345 | dependencies: 1346 | reusify "^1.0.4" 1347 | 1348 | fdir@^6.2.0, fdir@^6.4.4: 1349 | version "6.4.4" 1350 | resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.4.tgz#1cfcf86f875a883e19a8fab53622cfe992e8d2f9" 1351 | integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== 1352 | 1353 | fill-range@^7.0.1: 1354 | version "7.0.1" 1355 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1356 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1357 | dependencies: 1358 | to-regex-range "^5.0.1" 1359 | 1360 | fill-range@^7.1.1: 1361 | version "7.1.1" 1362 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" 1363 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 1364 | dependencies: 1365 | to-regex-range "^5.0.1" 1366 | 1367 | find-up@^4.0.0, find-up@^4.1.0: 1368 | version "4.1.0" 1369 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1370 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1371 | dependencies: 1372 | locate-path "^5.0.0" 1373 | path-exists "^4.0.0" 1374 | 1375 | fixturez@^1.1.0: 1376 | version "1.1.0" 1377 | resolved "https://registry.yarnpkg.com/fixturez/-/fixturez-1.1.0.tgz#37d5ecc830c9513907d8fdafb774751acf74db1a" 1378 | integrity sha512-c4q9eZsAmCzj9gkrEO/YwIRlrHWt/TXQiX9jR9WeLFOqeeV6EyzdiiV28CpSzF6Ip+gyYrSv5UeOHqyzfcNTVA== 1379 | dependencies: 1380 | fs-extra "^5.0.0" 1381 | globby "^7.1.1" 1382 | signal-exit "^3.0.2" 1383 | tempy "^0.2.1" 1384 | 1385 | fs-extra@^5.0.0: 1386 | version "5.0.0" 1387 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" 1388 | integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== 1389 | dependencies: 1390 | graceful-fs "^4.1.2" 1391 | jsonfile "^4.0.0" 1392 | universalify "^0.1.0" 1393 | 1394 | fs-extra@^7.0.1: 1395 | version "7.0.1" 1396 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 1397 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 1398 | dependencies: 1399 | graceful-fs "^4.1.2" 1400 | jsonfile "^4.0.0" 1401 | universalify "^0.1.0" 1402 | 1403 | fs-extra@^8.1.0: 1404 | version "8.1.0" 1405 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 1406 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== 1407 | dependencies: 1408 | graceful-fs "^4.2.0" 1409 | jsonfile "^4.0.0" 1410 | universalify "^0.1.0" 1411 | 1412 | fs.realpath@^1.0.0: 1413 | version "1.0.0" 1414 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1415 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1416 | 1417 | fsevents@~2.3.2, fsevents@~2.3.3: 1418 | version "2.3.3" 1419 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 1420 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1421 | 1422 | function-bind@^1.1.1: 1423 | version "1.1.1" 1424 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1425 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1426 | 1427 | function-bind@^1.1.2: 1428 | version "1.1.2" 1429 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1430 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1431 | 1432 | get-stdin@^7.0.0: 1433 | version "7.0.0" 1434 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" 1435 | integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== 1436 | 1437 | get-stream@^4.0.0: 1438 | version "4.1.0" 1439 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1440 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1441 | dependencies: 1442 | pump "^3.0.0" 1443 | 1444 | glob-parent@^5.1.2: 1445 | version "5.1.2" 1446 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1447 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1448 | dependencies: 1449 | is-glob "^4.0.1" 1450 | 1451 | glob@^7.1.2: 1452 | version "7.2.3" 1453 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1454 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1455 | dependencies: 1456 | fs.realpath "^1.0.0" 1457 | inflight "^1.0.4" 1458 | inherits "2" 1459 | minimatch "^3.1.1" 1460 | once "^1.3.0" 1461 | path-is-absolute "^1.0.0" 1462 | 1463 | globby@^11.0.0: 1464 | version "11.1.0" 1465 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1466 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1467 | dependencies: 1468 | array-union "^2.1.0" 1469 | dir-glob "^3.0.1" 1470 | fast-glob "^3.2.9" 1471 | ignore "^5.2.0" 1472 | merge2 "^1.4.1" 1473 | slash "^3.0.0" 1474 | 1475 | globby@^7.1.1: 1476 | version "7.1.1" 1477 | resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" 1478 | integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== 1479 | dependencies: 1480 | array-union "^1.0.1" 1481 | dir-glob "^2.0.0" 1482 | glob "^7.1.2" 1483 | ignore "^3.3.5" 1484 | pify "^3.0.0" 1485 | slash "^1.0.0" 1486 | 1487 | graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0: 1488 | version "4.2.11" 1489 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 1490 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1491 | 1492 | has-flag@^3.0.0: 1493 | version "3.0.0" 1494 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1495 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1496 | 1497 | has@^1.0.3: 1498 | version "1.0.3" 1499 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1500 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1501 | dependencies: 1502 | function-bind "^1.1.1" 1503 | 1504 | hasown@^2.0.2: 1505 | version "2.0.2" 1506 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1507 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1508 | dependencies: 1509 | function-bind "^1.1.2" 1510 | 1511 | hosted-git-info@^2.1.4: 1512 | version "2.8.9" 1513 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 1514 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 1515 | 1516 | human-id@^4.1.1: 1517 | version "4.1.1" 1518 | resolved "https://registry.yarnpkg.com/human-id/-/human-id-4.1.1.tgz#2801fbd61b9a5c1c9170f332802db6408a39a4b0" 1519 | integrity sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg== 1520 | 1521 | husky@^3.0.3: 1522 | version "3.1.0" 1523 | resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" 1524 | integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ== 1525 | dependencies: 1526 | chalk "^2.4.2" 1527 | ci-info "^2.0.0" 1528 | cosmiconfig "^5.2.1" 1529 | execa "^1.0.0" 1530 | get-stdin "^7.0.0" 1531 | opencollective-postinstall "^2.0.2" 1532 | pkg-dir "^4.2.0" 1533 | please-upgrade-node "^3.2.0" 1534 | read-pkg "^5.2.0" 1535 | run-node "^1.0.0" 1536 | slash "^3.0.0" 1537 | 1538 | iconv-lite@^0.4.24: 1539 | version "0.4.24" 1540 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1541 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1542 | dependencies: 1543 | safer-buffer ">= 2.1.2 < 3" 1544 | 1545 | ignore@^3.3.5: 1546 | version "3.3.10" 1547 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 1548 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 1549 | 1550 | ignore@^5.1.4: 1551 | version "5.3.2" 1552 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" 1553 | integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== 1554 | 1555 | ignore@^5.2.0: 1556 | version "5.2.4" 1557 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1558 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1559 | 1560 | import-fresh@^2.0.0: 1561 | version "2.0.0" 1562 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" 1563 | integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== 1564 | dependencies: 1565 | caller-path "^2.0.0" 1566 | resolve-from "^3.0.0" 1567 | 1568 | inflight@^1.0.4: 1569 | version "1.0.6" 1570 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1571 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1572 | dependencies: 1573 | once "^1.3.0" 1574 | wrappy "1" 1575 | 1576 | inherits@2, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3: 1577 | version "2.0.4" 1578 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1579 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1580 | 1581 | is-alphabetical@^1.0.0: 1582 | version "1.0.4" 1583 | resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" 1584 | integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== 1585 | 1586 | is-alphanumeric@^1.0.0: 1587 | version "1.0.0" 1588 | resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" 1589 | integrity sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA== 1590 | 1591 | is-alphanumerical@^1.0.0: 1592 | version "1.0.4" 1593 | resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" 1594 | integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== 1595 | dependencies: 1596 | is-alphabetical "^1.0.0" 1597 | is-decimal "^1.0.0" 1598 | 1599 | is-arrayish@^0.2.1: 1600 | version "0.2.1" 1601 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1602 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1603 | 1604 | is-buffer@^2.0.0: 1605 | version "2.0.5" 1606 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" 1607 | integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== 1608 | 1609 | is-core-module@^2.11.0: 1610 | version "2.12.1" 1611 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" 1612 | integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== 1613 | dependencies: 1614 | has "^1.0.3" 1615 | 1616 | is-core-module@^2.16.0: 1617 | version "2.16.1" 1618 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" 1619 | integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== 1620 | dependencies: 1621 | hasown "^2.0.2" 1622 | 1623 | is-decimal@^1.0.0, is-decimal@^1.0.2: 1624 | version "1.0.4" 1625 | resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" 1626 | integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== 1627 | 1628 | is-directory@^0.3.1: 1629 | version "0.3.1" 1630 | resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" 1631 | integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== 1632 | 1633 | is-extglob@^2.1.1: 1634 | version "2.1.1" 1635 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1636 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1637 | 1638 | is-glob@^4.0.1: 1639 | version "4.0.3" 1640 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1641 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1642 | dependencies: 1643 | is-extglob "^2.1.1" 1644 | 1645 | is-hexadecimal@^1.0.0: 1646 | version "1.0.4" 1647 | resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" 1648 | integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== 1649 | 1650 | is-module@^1.0.0: 1651 | version "1.0.0" 1652 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1653 | integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== 1654 | 1655 | is-number@^7.0.0: 1656 | version "7.0.0" 1657 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1658 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1659 | 1660 | is-plain-obj@^2.0.0: 1661 | version "2.1.0" 1662 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 1663 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 1664 | 1665 | is-reference@1.2.1: 1666 | version "1.2.1" 1667 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 1668 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1669 | dependencies: 1670 | "@types/estree" "*" 1671 | 1672 | is-stream@^1.1.0: 1673 | version "1.1.0" 1674 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1675 | integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== 1676 | 1677 | is-subdir@^1.1.1: 1678 | version "1.2.0" 1679 | resolved "https://registry.yarnpkg.com/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" 1680 | integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== 1681 | dependencies: 1682 | better-path-resolve "1.0.0" 1683 | 1684 | is-whitespace-character@^1.0.0: 1685 | version "1.0.4" 1686 | resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" 1687 | integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== 1688 | 1689 | is-windows@^1.0.0: 1690 | version "1.0.2" 1691 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1692 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1693 | 1694 | is-word-character@^1.0.0: 1695 | version "1.0.4" 1696 | resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" 1697 | integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== 1698 | 1699 | isexe@^2.0.0: 1700 | version "2.0.0" 1701 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1702 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1703 | 1704 | isomorphic-git@^1.27.1: 1705 | version "1.27.1" 1706 | resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.27.1.tgz#a2752fce23a09f04baa590c41cfaf61e973405b3" 1707 | integrity sha512-X32ph5zIWfT75QAqW2l3JCIqnx9/GWd17bRRehmn3qmWc34OYbSXY6Cxv0o9bIIY+CWugoN4nQFHNA+2uYf2nA== 1708 | dependencies: 1709 | async-lock "^1.4.1" 1710 | clean-git-ref "^2.0.1" 1711 | crc-32 "^1.2.0" 1712 | diff3 "0.0.3" 1713 | ignore "^5.1.4" 1714 | minimisted "^2.0.0" 1715 | pako "^1.0.10" 1716 | pify "^4.0.1" 1717 | readable-stream "^3.4.0" 1718 | sha.js "^2.4.9" 1719 | simple-get "^4.0.1" 1720 | 1721 | js-tokens@^4.0.0: 1722 | version "4.0.0" 1723 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1724 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1725 | 1726 | js-yaml@^3.13.1, js-yaml@^3.6.1: 1727 | version "3.14.1" 1728 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1729 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1730 | dependencies: 1731 | argparse "^1.0.7" 1732 | esprima "^4.0.0" 1733 | 1734 | json-parse-better-errors@^1.0.1: 1735 | version "1.0.2" 1736 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1737 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1738 | 1739 | json-parse-even-better-errors@^2.3.0: 1740 | version "2.3.1" 1741 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1742 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1743 | 1744 | jsonfile@^4.0.0: 1745 | version "4.0.0" 1746 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1747 | integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== 1748 | optionalDependencies: 1749 | graceful-fs "^4.1.6" 1750 | 1751 | lines-and-columns@^1.1.6: 1752 | version "1.2.4" 1753 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1754 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1755 | 1756 | locate-path@^5.0.0: 1757 | version "5.0.0" 1758 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1759 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1760 | dependencies: 1761 | p-locate "^4.1.0" 1762 | 1763 | lodash.startcase@^4.4.0: 1764 | version "4.4.0" 1765 | resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" 1766 | integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== 1767 | 1768 | longest-streak@^2.0.1: 1769 | version "2.0.4" 1770 | resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" 1771 | integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== 1772 | 1773 | loupe@^3.1.0, loupe@^3.1.3: 1774 | version "3.1.3" 1775 | resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2" 1776 | integrity sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug== 1777 | 1778 | lru-cache@^6.0.0: 1779 | version "6.0.0" 1780 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1781 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1782 | dependencies: 1783 | yallist "^4.0.0" 1784 | 1785 | magic-string@^0.30.17, magic-string@^0.30.3: 1786 | version "0.30.17" 1787 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" 1788 | integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== 1789 | dependencies: 1790 | "@jridgewell/sourcemap-codec" "^1.5.0" 1791 | 1792 | markdown-escapes@^1.0.0: 1793 | version "1.0.4" 1794 | resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" 1795 | integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== 1796 | 1797 | markdown-table@^1.1.0: 1798 | version "1.1.3" 1799 | resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" 1800 | integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== 1801 | 1802 | mdast-util-compact@^1.0.0: 1803 | version "1.0.4" 1804 | resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" 1805 | integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== 1806 | dependencies: 1807 | unist-util-visit "^1.1.0" 1808 | 1809 | mdast-util-to-string@^1.0.6: 1810 | version "1.1.0" 1811 | resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" 1812 | integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== 1813 | 1814 | merge2@^1.3.0, merge2@^1.4.1: 1815 | version "1.4.1" 1816 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1817 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1818 | 1819 | micromatch@^4.0.4: 1820 | version "4.0.5" 1821 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1822 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1823 | dependencies: 1824 | braces "^3.0.2" 1825 | picomatch "^2.3.1" 1826 | 1827 | micromatch@^4.0.8: 1828 | version "4.0.8" 1829 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" 1830 | integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== 1831 | dependencies: 1832 | braces "^3.0.3" 1833 | picomatch "^2.3.1" 1834 | 1835 | mimic-response@^3.1.0: 1836 | version "3.1.0" 1837 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" 1838 | integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== 1839 | 1840 | minimatch@^3.1.1: 1841 | version "3.1.2" 1842 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1843 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1844 | dependencies: 1845 | brace-expansion "^1.1.7" 1846 | 1847 | minimist@^1.2.5: 1848 | version "1.2.8" 1849 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 1850 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 1851 | 1852 | minimisted@^2.0.0: 1853 | version "2.0.1" 1854 | resolved "https://registry.yarnpkg.com/minimisted/-/minimisted-2.0.1.tgz#d059fb905beecf0774bc3b308468699709805cb1" 1855 | integrity sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA== 1856 | dependencies: 1857 | minimist "^1.2.5" 1858 | 1859 | mri@^1.2.0: 1860 | version "1.2.0" 1861 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" 1862 | integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== 1863 | 1864 | ms@^2.1.3: 1865 | version "2.1.3" 1866 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1867 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1868 | 1869 | nanoid@^3.3.8: 1870 | version "3.3.11" 1871 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" 1872 | integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== 1873 | 1874 | nice-try@^1.0.4: 1875 | version "1.0.5" 1876 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 1877 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 1878 | 1879 | node-fetch@^2.5.0: 1880 | version "2.6.11" 1881 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" 1882 | integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== 1883 | dependencies: 1884 | whatwg-url "^5.0.0" 1885 | 1886 | normalize-package-data@^2.5.0: 1887 | version "2.5.0" 1888 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 1889 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 1890 | dependencies: 1891 | hosted-git-info "^2.1.4" 1892 | resolve "^1.10.0" 1893 | semver "2 || 3 || 4 || 5" 1894 | validate-npm-package-license "^3.0.1" 1895 | 1896 | npm-run-path@^2.0.0: 1897 | version "2.0.2" 1898 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1899 | integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== 1900 | dependencies: 1901 | path-key "^2.0.0" 1902 | 1903 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1904 | version "1.4.0" 1905 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1906 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1907 | dependencies: 1908 | wrappy "1" 1909 | 1910 | opencollective-postinstall@^2.0.2: 1911 | version "2.0.3" 1912 | resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" 1913 | integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== 1914 | 1915 | os-tmpdir@~1.0.2: 1916 | version "1.0.2" 1917 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1918 | integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== 1919 | 1920 | outdent@^0.5.0: 1921 | version "0.5.0" 1922 | resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" 1923 | integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== 1924 | 1925 | p-filter@^2.1.0: 1926 | version "2.1.0" 1927 | resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" 1928 | integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== 1929 | dependencies: 1930 | p-map "^2.0.0" 1931 | 1932 | p-finally@^1.0.0: 1933 | version "1.0.0" 1934 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1935 | integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== 1936 | 1937 | p-limit@^2.2.0: 1938 | version "2.3.0" 1939 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1940 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1941 | dependencies: 1942 | p-try "^2.0.0" 1943 | 1944 | p-locate@^4.1.0: 1945 | version "4.1.0" 1946 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1947 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1948 | dependencies: 1949 | p-limit "^2.2.0" 1950 | 1951 | p-map@^2.0.0: 1952 | version "2.1.0" 1953 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" 1954 | integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== 1955 | 1956 | p-try@^2.0.0: 1957 | version "2.2.0" 1958 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1959 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1960 | 1961 | package-manager-detector@^0.2.0: 1962 | version "0.2.11" 1963 | resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-0.2.11.tgz#3af0b34f99d86d24af0a0620603d2e1180d05c9c" 1964 | integrity sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ== 1965 | dependencies: 1966 | quansync "^0.2.7" 1967 | 1968 | pako@^1.0.10: 1969 | version "1.0.11" 1970 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1971 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1972 | 1973 | parse-entities@^1.0.2, parse-entities@^1.1.0: 1974 | version "1.2.2" 1975 | resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" 1976 | integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== 1977 | dependencies: 1978 | character-entities "^1.0.0" 1979 | character-entities-legacy "^1.0.0" 1980 | character-reference-invalid "^1.0.0" 1981 | is-alphanumerical "^1.0.0" 1982 | is-decimal "^1.0.0" 1983 | is-hexadecimal "^1.0.0" 1984 | 1985 | parse-json@^4.0.0: 1986 | version "4.0.0" 1987 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 1988 | integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== 1989 | dependencies: 1990 | error-ex "^1.3.1" 1991 | json-parse-better-errors "^1.0.1" 1992 | 1993 | parse-json@^5.0.0: 1994 | version "5.2.0" 1995 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 1996 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1997 | dependencies: 1998 | "@babel/code-frame" "^7.0.0" 1999 | error-ex "^1.3.1" 2000 | json-parse-even-better-errors "^2.3.0" 2001 | lines-and-columns "^1.1.6" 2002 | 2003 | path-exists@^4.0.0: 2004 | version "4.0.0" 2005 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2006 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2007 | 2008 | path-is-absolute@^1.0.0: 2009 | version "1.0.1" 2010 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2011 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2012 | 2013 | path-key@^2.0.0, path-key@^2.0.1: 2014 | version "2.0.1" 2015 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2016 | integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== 2017 | 2018 | path-key@^3.1.0: 2019 | version "3.1.1" 2020 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2021 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2022 | 2023 | path-parse@^1.0.7: 2024 | version "1.0.7" 2025 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2026 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2027 | 2028 | path-type@^3.0.0: 2029 | version "3.0.0" 2030 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2031 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 2032 | dependencies: 2033 | pify "^3.0.0" 2034 | 2035 | path-type@^4.0.0: 2036 | version "4.0.0" 2037 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2038 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2039 | 2040 | pathe@^2.0.3: 2041 | version "2.0.3" 2042 | resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" 2043 | integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== 2044 | 2045 | pathval@^2.0.0: 2046 | version "2.0.0" 2047 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" 2048 | integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== 2049 | 2050 | picocolors@^1.1.0, picocolors@^1.1.1: 2051 | version "1.1.1" 2052 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" 2053 | integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== 2054 | 2055 | picomatch@^2.3.1: 2056 | version "2.3.1" 2057 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2058 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2059 | 2060 | picomatch@^4.0.2: 2061 | version "4.0.2" 2062 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" 2063 | integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== 2064 | 2065 | pify@^3.0.0: 2066 | version "3.0.0" 2067 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2068 | integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== 2069 | 2070 | pify@^4.0.1: 2071 | version "4.0.1" 2072 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 2073 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 2074 | 2075 | pkg-dir@^4.2.0: 2076 | version "4.2.0" 2077 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2078 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2079 | dependencies: 2080 | find-up "^4.0.0" 2081 | 2082 | please-upgrade-node@^3.2.0: 2083 | version "3.2.0" 2084 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 2085 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 2086 | dependencies: 2087 | semver-compare "^1.0.0" 2088 | 2089 | postcss@^8.5.3: 2090 | version "8.5.3" 2091 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" 2092 | integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== 2093 | dependencies: 2094 | nanoid "^3.3.8" 2095 | picocolors "^1.1.1" 2096 | source-map-js "^1.2.1" 2097 | 2098 | prettier@^2.0.5, prettier@^2.7.1: 2099 | version "2.8.8" 2100 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" 2101 | integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== 2102 | 2103 | pump@^3.0.0: 2104 | version "3.0.0" 2105 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2106 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2107 | dependencies: 2108 | end-of-stream "^1.1.0" 2109 | once "^1.3.1" 2110 | 2111 | quansync@^0.2.7: 2112 | version "0.2.10" 2113 | resolved "https://registry.yarnpkg.com/quansync/-/quansync-0.2.10.tgz#32053cf166fa36511aae95fc49796116f2dc20e1" 2114 | integrity sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A== 2115 | 2116 | queue-microtask@^1.2.2: 2117 | version "1.2.3" 2118 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2119 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2120 | 2121 | randombytes@^2.1.0: 2122 | version "2.1.0" 2123 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 2124 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 2125 | dependencies: 2126 | safe-buffer "^5.1.0" 2127 | 2128 | read-pkg@^5.2.0: 2129 | version "5.2.0" 2130 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 2131 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 2132 | dependencies: 2133 | "@types/normalize-package-data" "^2.4.0" 2134 | normalize-package-data "^2.5.0" 2135 | parse-json "^5.0.0" 2136 | type-fest "^0.6.0" 2137 | 2138 | read-yaml-file@^1.1.0: 2139 | version "1.1.0" 2140 | resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" 2141 | integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== 2142 | dependencies: 2143 | graceful-fs "^4.1.5" 2144 | js-yaml "^3.6.1" 2145 | pify "^4.0.1" 2146 | strip-bom "^3.0.0" 2147 | 2148 | readable-stream@^3.4.0: 2149 | version "3.6.2" 2150 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" 2151 | integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== 2152 | dependencies: 2153 | inherits "^2.0.3" 2154 | string_decoder "^1.1.1" 2155 | util-deprecate "^1.0.1" 2156 | 2157 | remark-parse@^7.0.1: 2158 | version "7.0.2" 2159 | resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf" 2160 | integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA== 2161 | dependencies: 2162 | collapse-white-space "^1.0.2" 2163 | is-alphabetical "^1.0.0" 2164 | is-decimal "^1.0.0" 2165 | is-whitespace-character "^1.0.0" 2166 | is-word-character "^1.0.0" 2167 | markdown-escapes "^1.0.0" 2168 | parse-entities "^1.1.0" 2169 | repeat-string "^1.5.4" 2170 | state-toggle "^1.0.0" 2171 | trim "0.0.1" 2172 | trim-trailing-lines "^1.0.0" 2173 | unherit "^1.0.4" 2174 | unist-util-remove-position "^1.0.0" 2175 | vfile-location "^2.0.0" 2176 | xtend "^4.0.1" 2177 | 2178 | remark-stringify@^7.0.3: 2179 | version "7.0.4" 2180 | resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-7.0.4.tgz#3de1e3f93853288d3407da1cd44f2212321dd548" 2181 | integrity sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg== 2182 | dependencies: 2183 | ccount "^1.0.0" 2184 | is-alphanumeric "^1.0.0" 2185 | is-decimal "^1.0.0" 2186 | is-whitespace-character "^1.0.0" 2187 | longest-streak "^2.0.1" 2188 | markdown-escapes "^1.0.0" 2189 | markdown-table "^1.1.0" 2190 | mdast-util-compact "^1.0.0" 2191 | parse-entities "^1.0.2" 2192 | repeat-string "^1.5.4" 2193 | state-toggle "^1.0.0" 2194 | stringify-entities "^2.0.0" 2195 | unherit "^1.0.4" 2196 | xtend "^4.0.1" 2197 | 2198 | repeat-string@^1.5.4: 2199 | version "1.6.1" 2200 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2201 | integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== 2202 | 2203 | resolve-from@^3.0.0: 2204 | version "3.0.0" 2205 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 2206 | integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== 2207 | 2208 | resolve-from@^5.0.0: 2209 | version "5.0.0" 2210 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2211 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2212 | 2213 | resolve@^1.10.0: 2214 | version "1.22.2" 2215 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" 2216 | integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== 2217 | dependencies: 2218 | is-core-module "^2.11.0" 2219 | path-parse "^1.0.7" 2220 | supports-preserve-symlinks-flag "^1.0.0" 2221 | 2222 | resolve@^1.22.1: 2223 | version "1.22.10" 2224 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" 2225 | integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== 2226 | dependencies: 2227 | is-core-module "^2.16.0" 2228 | path-parse "^1.0.7" 2229 | supports-preserve-symlinks-flag "^1.0.0" 2230 | 2231 | reusify@^1.0.4: 2232 | version "1.0.4" 2233 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2234 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2235 | 2236 | rollup@^4.34.9, rollup@^4.40.2: 2237 | version "4.40.2" 2238 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.40.2.tgz#778e88b7a197542682b3e318581f7697f55f0619" 2239 | integrity sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg== 2240 | dependencies: 2241 | "@types/estree" "1.0.7" 2242 | optionalDependencies: 2243 | "@rollup/rollup-android-arm-eabi" "4.40.2" 2244 | "@rollup/rollup-android-arm64" "4.40.2" 2245 | "@rollup/rollup-darwin-arm64" "4.40.2" 2246 | "@rollup/rollup-darwin-x64" "4.40.2" 2247 | "@rollup/rollup-freebsd-arm64" "4.40.2" 2248 | "@rollup/rollup-freebsd-x64" "4.40.2" 2249 | "@rollup/rollup-linux-arm-gnueabihf" "4.40.2" 2250 | "@rollup/rollup-linux-arm-musleabihf" "4.40.2" 2251 | "@rollup/rollup-linux-arm64-gnu" "4.40.2" 2252 | "@rollup/rollup-linux-arm64-musl" "4.40.2" 2253 | "@rollup/rollup-linux-loongarch64-gnu" "4.40.2" 2254 | "@rollup/rollup-linux-powerpc64le-gnu" "4.40.2" 2255 | "@rollup/rollup-linux-riscv64-gnu" "4.40.2" 2256 | "@rollup/rollup-linux-riscv64-musl" "4.40.2" 2257 | "@rollup/rollup-linux-s390x-gnu" "4.40.2" 2258 | "@rollup/rollup-linux-x64-gnu" "4.40.2" 2259 | "@rollup/rollup-linux-x64-musl" "4.40.2" 2260 | "@rollup/rollup-win32-arm64-msvc" "4.40.2" 2261 | "@rollup/rollup-win32-ia32-msvc" "4.40.2" 2262 | "@rollup/rollup-win32-x64-msvc" "4.40.2" 2263 | fsevents "~2.3.2" 2264 | 2265 | run-node@^1.0.0: 2266 | version "1.0.0" 2267 | resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" 2268 | integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== 2269 | 2270 | run-parallel@^1.1.9: 2271 | version "1.2.0" 2272 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2273 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2274 | dependencies: 2275 | queue-microtask "^1.2.2" 2276 | 2277 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: 2278 | version "5.2.1" 2279 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 2280 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2281 | 2282 | "safer-buffer@>= 2.1.2 < 3": 2283 | version "2.1.2" 2284 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2285 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2286 | 2287 | semver-compare@^1.0.0: 2288 | version "1.0.0" 2289 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 2290 | integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== 2291 | 2292 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 2293 | version "5.7.1" 2294 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2295 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 2296 | 2297 | semver@^7.5.3: 2298 | version "7.5.3" 2299 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" 2300 | integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== 2301 | dependencies: 2302 | lru-cache "^6.0.0" 2303 | 2304 | serialize-javascript@^6.0.1: 2305 | version "6.0.2" 2306 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" 2307 | integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== 2308 | dependencies: 2309 | randombytes "^2.1.0" 2310 | 2311 | sha.js@^2.4.9: 2312 | version "2.4.11" 2313 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 2314 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 2315 | dependencies: 2316 | inherits "^2.0.1" 2317 | safe-buffer "^5.0.1" 2318 | 2319 | shebang-command@^1.2.0: 2320 | version "1.2.0" 2321 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2322 | integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== 2323 | dependencies: 2324 | shebang-regex "^1.0.0" 2325 | 2326 | shebang-command@^2.0.0: 2327 | version "2.0.0" 2328 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2329 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2330 | dependencies: 2331 | shebang-regex "^3.0.0" 2332 | 2333 | shebang-regex@^1.0.0: 2334 | version "1.0.0" 2335 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2336 | integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== 2337 | 2338 | shebang-regex@^3.0.0: 2339 | version "3.0.0" 2340 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2341 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2342 | 2343 | siginfo@^2.0.0: 2344 | version "2.0.0" 2345 | resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" 2346 | integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== 2347 | 2348 | signal-exit@^3.0.0, signal-exit@^3.0.2: 2349 | version "3.0.7" 2350 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2351 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2352 | 2353 | signal-exit@^4.0.1: 2354 | version "4.1.0" 2355 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 2356 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 2357 | 2358 | simple-concat@^1.0.0: 2359 | version "1.0.1" 2360 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" 2361 | integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 2362 | 2363 | simple-get@^4.0.1: 2364 | version "4.0.1" 2365 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" 2366 | integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== 2367 | dependencies: 2368 | decompress-response "^6.0.0" 2369 | once "^1.3.1" 2370 | simple-concat "^1.0.0" 2371 | 2372 | slash@^1.0.0: 2373 | version "1.0.0" 2374 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2375 | integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== 2376 | 2377 | slash@^3.0.0: 2378 | version "3.0.0" 2379 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2380 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2381 | 2382 | smob@^1.0.0: 2383 | version "1.5.0" 2384 | resolved "https://registry.yarnpkg.com/smob/-/smob-1.5.0.tgz#85d79a1403abf128d24d3ebc1cdc5e1a9548d3ab" 2385 | integrity sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig== 2386 | 2387 | source-map-js@^1.2.1: 2388 | version "1.2.1" 2389 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" 2390 | integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== 2391 | 2392 | source-map-support@~0.5.20: 2393 | version "0.5.21" 2394 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 2395 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 2396 | dependencies: 2397 | buffer-from "^1.0.0" 2398 | source-map "^0.6.0" 2399 | 2400 | source-map@^0.6.0: 2401 | version "0.6.1" 2402 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2403 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2404 | 2405 | spawndamnit@^3.0.1: 2406 | version "3.0.1" 2407 | resolved "https://registry.yarnpkg.com/spawndamnit/-/spawndamnit-3.0.1.tgz#44410235d3dc4e21f8e4f740ae3266e4486c2aed" 2408 | integrity sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg== 2409 | dependencies: 2410 | cross-spawn "^7.0.5" 2411 | signal-exit "^4.0.1" 2412 | 2413 | spdx-correct@^3.0.0: 2414 | version "3.2.0" 2415 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" 2416 | integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== 2417 | dependencies: 2418 | spdx-expression-parse "^3.0.0" 2419 | spdx-license-ids "^3.0.0" 2420 | 2421 | spdx-exceptions@^2.1.0: 2422 | version "2.3.0" 2423 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 2424 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 2425 | 2426 | spdx-expression-parse@^3.0.0: 2427 | version "3.0.1" 2428 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 2429 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 2430 | dependencies: 2431 | spdx-exceptions "^2.1.0" 2432 | spdx-license-ids "^3.0.0" 2433 | 2434 | spdx-license-ids@^3.0.0: 2435 | version "3.0.13" 2436 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" 2437 | integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== 2438 | 2439 | sprintf-js@~1.0.2: 2440 | version "1.0.3" 2441 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2442 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2443 | 2444 | stackback@0.0.2: 2445 | version "0.0.2" 2446 | resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" 2447 | integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== 2448 | 2449 | state-toggle@^1.0.0: 2450 | version "1.0.3" 2451 | resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" 2452 | integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== 2453 | 2454 | std-env@^3.9.0: 2455 | version "3.9.0" 2456 | resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" 2457 | integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== 2458 | 2459 | string_decoder@^1.1.1: 2460 | version "1.3.0" 2461 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 2462 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 2463 | dependencies: 2464 | safe-buffer "~5.2.0" 2465 | 2466 | stringify-entities@^2.0.0: 2467 | version "2.0.0" 2468 | resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-2.0.0.tgz#fa7ca6614b355fb6c28448140a20c4ede7462827" 2469 | integrity sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A== 2470 | dependencies: 2471 | character-entities-html4 "^1.0.0" 2472 | character-entities-legacy "^1.0.0" 2473 | is-alphanumerical "^1.0.0" 2474 | is-decimal "^1.0.2" 2475 | is-hexadecimal "^1.0.0" 2476 | 2477 | strip-ansi@^6.0.1: 2478 | version "6.0.1" 2479 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2480 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2481 | dependencies: 2482 | ansi-regex "^5.0.1" 2483 | 2484 | strip-bom@^3.0.0: 2485 | version "3.0.0" 2486 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2487 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== 2488 | 2489 | strip-eof@^1.0.0: 2490 | version "1.0.0" 2491 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2492 | integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== 2493 | 2494 | supports-color@^5.3.0: 2495 | version "5.5.0" 2496 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2497 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2498 | dependencies: 2499 | has-flag "^3.0.0" 2500 | 2501 | supports-preserve-symlinks-flag@^1.0.0: 2502 | version "1.0.0" 2503 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2504 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2505 | 2506 | temp-dir@^1.0.0: 2507 | version "1.0.0" 2508 | resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" 2509 | integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== 2510 | 2511 | tempy@^0.2.1: 2512 | version "0.2.1" 2513 | resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.2.1.tgz#9038e4dbd1c201b74472214179bc2c6f7776e54c" 2514 | integrity sha512-LB83o9bfZGrntdqPuRdanIVCPReam9SOZKW0fOy5I9X3A854GGWi0tjCqoXEk84XIEYBc/x9Hq3EFop/H5wJaw== 2515 | dependencies: 2516 | temp-dir "^1.0.0" 2517 | unique-string "^1.0.0" 2518 | 2519 | term-size@^2.1.0: 2520 | version "2.2.1" 2521 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" 2522 | integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== 2523 | 2524 | terser@^5.17.4: 2525 | version "5.39.2" 2526 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.2.tgz#5a1626030724a672e2e5b5c9cd9070308c20e8f9" 2527 | integrity sha512-yEPUmWve+VA78bI71BW70Dh0TuV4HHd+I5SHOAfS1+QBOmvmCiiffgjR8ryyEd3KIfvPGFqoADt8LdQ6XpXIvg== 2528 | dependencies: 2529 | "@jridgewell/source-map" "^0.3.3" 2530 | acorn "^8.14.0" 2531 | commander "^2.20.0" 2532 | source-map-support "~0.5.20" 2533 | 2534 | tinybench@^2.9.0: 2535 | version "2.9.0" 2536 | resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" 2537 | integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== 2538 | 2539 | tinyexec@^0.3.2: 2540 | version "0.3.2" 2541 | resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" 2542 | integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== 2543 | 2544 | tinyglobby@^0.2.13: 2545 | version "0.2.13" 2546 | resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.13.tgz#a0e46515ce6cbcd65331537e57484af5a7b2ff7e" 2547 | integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== 2548 | dependencies: 2549 | fdir "^6.4.4" 2550 | picomatch "^4.0.2" 2551 | 2552 | tinypool@^1.0.2: 2553 | version "1.0.2" 2554 | resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" 2555 | integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== 2556 | 2557 | tinyrainbow@^2.0.0: 2558 | version "2.0.0" 2559 | resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" 2560 | integrity sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== 2561 | 2562 | tinyspy@^3.0.2: 2563 | version "3.0.2" 2564 | resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" 2565 | integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== 2566 | 2567 | tmp@^0.0.33: 2568 | version "0.0.33" 2569 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 2570 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 2571 | dependencies: 2572 | os-tmpdir "~1.0.2" 2573 | 2574 | to-regex-range@^5.0.1: 2575 | version "5.0.1" 2576 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2577 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2578 | dependencies: 2579 | is-number "^7.0.0" 2580 | 2581 | tr46@~0.0.3: 2582 | version "0.0.3" 2583 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 2584 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 2585 | 2586 | trim-trailing-lines@^1.0.0: 2587 | version "1.1.4" 2588 | resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" 2589 | integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== 2590 | 2591 | trim@0.0.1, trim@^0.0.3: 2592 | version "0.0.3" 2593 | resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.3.tgz#05243a47a3a4113e6b49367880a9cca59697a20b" 2594 | integrity sha512-h82ywcYhHK7veeelXrCScdH7HkWfbIT1D/CgYO+nmDarz3SGNssVBMws6jU16Ga60AJCRAvPV6w6RLuNerQqjg== 2595 | 2596 | trough@^1.0.0: 2597 | version "1.0.5" 2598 | resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" 2599 | integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== 2600 | 2601 | tunnel@^0.0.6: 2602 | version "0.0.6" 2603 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" 2604 | integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== 2605 | 2606 | type-fest@^0.6.0: 2607 | version "0.6.0" 2608 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 2609 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 2610 | 2611 | typescript@^5.8.3: 2612 | version "5.8.3" 2613 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" 2614 | integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== 2615 | 2616 | undici-types@~6.21.0: 2617 | version "6.21.0" 2618 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" 2619 | integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== 2620 | 2621 | undici@^5.25.4, undici@^5.28.5: 2622 | version "5.29.0" 2623 | resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" 2624 | integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== 2625 | dependencies: 2626 | "@fastify/busboy" "^2.0.0" 2627 | 2628 | unherit@^1.0.4: 2629 | version "1.1.3" 2630 | resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" 2631 | integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== 2632 | dependencies: 2633 | inherits "^2.0.0" 2634 | xtend "^4.0.0" 2635 | 2636 | unified@^8.3.2: 2637 | version "8.4.2" 2638 | resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" 2639 | integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== 2640 | dependencies: 2641 | bail "^1.0.0" 2642 | extend "^3.0.0" 2643 | is-plain-obj "^2.0.0" 2644 | trough "^1.0.0" 2645 | vfile "^4.0.0" 2646 | 2647 | unique-string@^1.0.0: 2648 | version "1.0.0" 2649 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 2650 | integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== 2651 | dependencies: 2652 | crypto-random-string "^1.0.0" 2653 | 2654 | unist-util-is@^3.0.0: 2655 | version "3.0.0" 2656 | resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" 2657 | integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== 2658 | 2659 | unist-util-remove-position@^1.0.0: 2660 | version "1.1.4" 2661 | resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" 2662 | integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== 2663 | dependencies: 2664 | unist-util-visit "^1.1.0" 2665 | 2666 | unist-util-stringify-position@^2.0.0: 2667 | version "2.0.3" 2668 | resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" 2669 | integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== 2670 | dependencies: 2671 | "@types/unist" "^2.0.2" 2672 | 2673 | unist-util-visit-parents@^2.0.0: 2674 | version "2.1.2" 2675 | resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" 2676 | integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== 2677 | dependencies: 2678 | unist-util-is "^3.0.0" 2679 | 2680 | unist-util-visit@^1.1.0: 2681 | version "1.4.1" 2682 | resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" 2683 | integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== 2684 | dependencies: 2685 | unist-util-visit-parents "^2.0.0" 2686 | 2687 | universal-user-agent@^6.0.0: 2688 | version "6.0.0" 2689 | resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" 2690 | integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== 2691 | 2692 | universalify@^0.1.0: 2693 | version "0.1.2" 2694 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 2695 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 2696 | 2697 | util-deprecate@^1.0.1: 2698 | version "1.0.2" 2699 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2700 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2701 | 2702 | validate-npm-package-license@^3.0.1: 2703 | version "3.0.4" 2704 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2705 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2706 | dependencies: 2707 | spdx-correct "^3.0.0" 2708 | spdx-expression-parse "^3.0.0" 2709 | 2710 | vfile-location@^2.0.0: 2711 | version "2.0.6" 2712 | resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" 2713 | integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== 2714 | 2715 | vfile-message@^2.0.0: 2716 | version "2.0.4" 2717 | resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" 2718 | integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== 2719 | dependencies: 2720 | "@types/unist" "^2.0.0" 2721 | unist-util-stringify-position "^2.0.0" 2722 | 2723 | vfile@^4.0.0: 2724 | version "4.2.1" 2725 | resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" 2726 | integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== 2727 | dependencies: 2728 | "@types/unist" "^2.0.0" 2729 | is-buffer "^2.0.0" 2730 | unist-util-stringify-position "^2.0.0" 2731 | vfile-message "^2.0.0" 2732 | 2733 | vite-node@3.1.3: 2734 | version "3.1.3" 2735 | resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.1.3.tgz#d021ced40b5a057305eaea9ce62c610c33b60a48" 2736 | integrity sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA== 2737 | dependencies: 2738 | cac "^6.7.14" 2739 | debug "^4.4.0" 2740 | es-module-lexer "^1.7.0" 2741 | pathe "^2.0.3" 2742 | vite "^5.0.0 || ^6.0.0" 2743 | 2744 | "vite@^5.0.0 || ^6.0.0": 2745 | version "6.3.5" 2746 | resolved "https://registry.yarnpkg.com/vite/-/vite-6.3.5.tgz#fec73879013c9c0128c8d284504c6d19410d12a3" 2747 | integrity sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ== 2748 | dependencies: 2749 | esbuild "^0.25.0" 2750 | fdir "^6.4.4" 2751 | picomatch "^4.0.2" 2752 | postcss "^8.5.3" 2753 | rollup "^4.34.9" 2754 | tinyglobby "^0.2.13" 2755 | optionalDependencies: 2756 | fsevents "~2.3.3" 2757 | 2758 | vitest@^3.1.3: 2759 | version "3.1.3" 2760 | resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.1.3.tgz#0b0b01932408cd3af61867f4468d28bd83406ffb" 2761 | integrity sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw== 2762 | dependencies: 2763 | "@vitest/expect" "3.1.3" 2764 | "@vitest/mocker" "3.1.3" 2765 | "@vitest/pretty-format" "^3.1.3" 2766 | "@vitest/runner" "3.1.3" 2767 | "@vitest/snapshot" "3.1.3" 2768 | "@vitest/spy" "3.1.3" 2769 | "@vitest/utils" "3.1.3" 2770 | chai "^5.2.0" 2771 | debug "^4.4.0" 2772 | expect-type "^1.2.1" 2773 | magic-string "^0.30.17" 2774 | pathe "^2.0.3" 2775 | std-env "^3.9.0" 2776 | tinybench "^2.9.0" 2777 | tinyexec "^0.3.2" 2778 | tinyglobby "^0.2.13" 2779 | tinypool "^1.0.2" 2780 | tinyrainbow "^2.0.0" 2781 | vite "^5.0.0 || ^6.0.0" 2782 | vite-node "3.1.3" 2783 | why-is-node-running "^2.3.0" 2784 | 2785 | webidl-conversions@^3.0.0: 2786 | version "3.0.1" 2787 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 2788 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 2789 | 2790 | whatwg-url@^5.0.0: 2791 | version "5.0.0" 2792 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 2793 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 2794 | dependencies: 2795 | tr46 "~0.0.3" 2796 | webidl-conversions "^3.0.0" 2797 | 2798 | which@^1.2.9: 2799 | version "1.3.1" 2800 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2801 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 2802 | dependencies: 2803 | isexe "^2.0.0" 2804 | 2805 | which@^2.0.1: 2806 | version "2.0.2" 2807 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2808 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2809 | dependencies: 2810 | isexe "^2.0.0" 2811 | 2812 | why-is-node-running@^2.3.0: 2813 | version "2.3.0" 2814 | resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" 2815 | integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== 2816 | dependencies: 2817 | siginfo "^2.0.0" 2818 | stackback "0.0.2" 2819 | 2820 | wrappy@1: 2821 | version "1.0.2" 2822 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2823 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2824 | 2825 | xtend@^4.0.0, xtend@^4.0.1: 2826 | version "4.0.2" 2827 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2828 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2829 | 2830 | y18n@^4.0.1: 2831 | version "4.0.3" 2832 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" 2833 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== 2834 | 2835 | yallist@^4.0.0: 2836 | version "4.0.0" 2837 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2838 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2839 | --------------------------------------------------------------------------------