From e7f19f2befc1c655db4893aa8f172be50bd02e69 Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Thu, 11 Aug 2022 01:21:53 -0400 Subject: [PATCH] feat: use new release flow (#2229) --- .changeset/config.json | 15 +- .github/workflows/canary.yml | 74 ++---- .github/workflows/dependencies.yml | 18 ++ .github/workflows/release.yml | 62 +++-- package.json | 5 +- ...@changesets+apply-release-plan+5.0.1.patch | 79 ------ scripts/canary-release.js | 94 ------- yarn.lock | 233 +++++++++--------- 8 files changed, 191 insertions(+), 389 deletions(-) create mode 100644 .github/workflows/dependencies.yml delete mode 100644 patches/@changesets+apply-release-plan+5.0.1.patch delete mode 100644 scripts/canary-release.js diff --git a/.changeset/config.json b/.changeset/config.json index afab78f14c..7d7e87514e 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,9 +1,12 @@ { - "$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json", - "changelog": "@changesets/cli/changelog", + "$schema": "https://unpkg.com/@changesets/config@2.1.0/schema.json", + "changelog": [ + "@changesets/changelog-github", + { "repo": "urigo/graphql-modules" } + ], "commit": false, "linked": [], - "access": "restricted", + "access": "public", "baseBranch": "master", "updateInternalDependencies": "patch", "ignore": [ @@ -12,5 +15,9 @@ "examples-di", "examples-subscriptions", "graphql-yoga" - ] + ], + "snapshot": { + "useCalculatedVersion": true, + "prereleaseTemplate": "{tag}-{datetime}-{commit}" + } } diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 7c3d18b174..6039f77f56 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -4,72 +4,34 @@ on: pull_request: branches: - master + paths: + - ".changeset/**/*.md" jobs: - publish-canary: - name: Publish Canary + canary: runs-on: ubuntu-latest - if: contains(github.actor, 'dependabot') == false + if: github.event.pull_request.head.repo.full_name == github.repository || github.event.inputs.onDemand == 'yes' steps: - - name: Checkout Master + - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Use Node - uses: actions/setup-node@v2 - with: - node-version: 18 - - name: Configure Git Credentials - run: | - git config --global user.email "theguild-bot@users.noreply.github.com" - git config --global user.name "theguild-bot" - echo "machine github.com login theguild-bot password ${{secrets.GH_API_TOKEN}}" > ~/.netrc - - name: Setup NPM credentials - run: echo "//registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN" >> ~/.npmrc - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - - uses: actions/cache@v2 - name: Cache node_modules + uses: actions/setup-node@v3 with: - path: '**/node_modules' - key: ${{ runner.os }}-yarn-18-16-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn-18-16 - ${{ runner.os }}-yarn-18- - ${{ runner.os }}-yarn- + node-version: 16 + cache: "yarn" + - name: Install Dependencies using Yarn - run: yarn install --ignore-engines && git checkout yarn.lock + run: yarn + - name: Release Canary id: canary - uses: 'kamilkisiela/release-canary@master' - if: github.repository == 'urigo/graphql-modules' - with: - npm-token: ${{ secrets.NODE_AUTH_TOKEN }} - npm-script: 'yarn release:canary' - changesets: true - - name: Publish a message - if: steps.canary.outputs.released - uses: 'kamilkisiela/pr-comment@master' + uses: "the-guild-org/changesets-snapshot-action@main" with: - message: | - The latest changes of this PR are available as alpha in npm (based on the declared `changesets`): - - ``` - ${{ steps.canary.outputs.changesetsPublishedPackages}} - ``` - bot-token: ${{ secrets.GH_API_TOKEN }} - bot: 'theguild-bot' - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Publish a empty message - if: steps.canary.outputs.released == 'false' - uses: 'kamilkisiela/pr-comment@master' - with: - message: | - The latest changes of this PR are not available as alpha, since there are no linked `changesets` for this PR. - - $ yarn pr - - Describe changes introduced in this Pull Request by running the above command. - bot-token: ${{ secrets.GH_API_TOKEN }} - bot: 'theguild-bot' - github-token: ${{ secrets.GITHUB_TOKEN }} + tag: alpha + prepareScript: "yarn build" + env: + NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml new file mode 100644 index 0000000000..a0de886212 --- /dev/null +++ b/.github/workflows/dependencies.yml @@ -0,0 +1,18 @@ +name: Dependencies Changeset + +on: pull_request + +jobs: + changeset: + if: github.event.pull_request.head.repo.full_name == github.repository + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Create/Update Changesets + uses: "the-guild-org/changesets-dependencies-action@main" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0cc9978471..1872a9e672 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,54 +1,48 @@ name: Release + on: push: branches: - master + jobs: - build: + release: + name: stable runs-on: ubuntu-latest steps: - - name: Checkout Master + - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Configure Git Credentials - run: | - git config --global user.email "theguild-bot@users.noreply.github.com" - git config --global user.name "theguild-bot" - echo "machine github.com login theguild-bot password ${{secrets.GH_API_TOKEN}}" > ~/.netrc - - name: Add origin remote and refetch master - run: | - git remote rm origin - git remote add origin "https://github.com/${{github.repository}}" - git fetch - git checkout master - git reset --hard + - name: Use Node - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: - node-version: 18 - - name: Setup NPM credentials - run: echo "//registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN" >> ~/.npmrc - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - - uses: actions/cache@v2 - name: Cache node_modules - with: - path: '**/node_modules' - key: ${{ runner.os }}-yarn-18-16-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn-18-16- - ${{ runner.os }}-yarn-18- - ${{ runner.os }}-yarn- + node-version: 16 + cache: "yarn" + - name: Install Dependencies using Yarn - run: yarn install --ignore-engines && git checkout yarn.lock + run: yarn + + - name: Build Packages + run: yarn build + + - name: set version variables + id: vars + shell: bash + run: | + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + - name: Create Release Pull Request or Publish to npm id: changesets - uses: changesets/action@master + uses: dotansimha/changesets-action@v1.3.1 with: publish: yarn release - commit: 'chore(release): update monorepo packages versions' - title: 'Upcoming Release Changes' + commit: "chore(release): update monorepo packages versions" + title: "Upcoming Release Changes" + createGithubReleases: aggregate + githubReleaseName: "Release ${{ steps.vars.outputs.sha_short }} (from ${{ steps.vars.outputs.branch }})" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} diff --git a/package.json b/package.json index b1f48d8e56..68df2579ea 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "test": "jest", "prerelease": "yarn build", "release": "changeset publish", - "release:canary": "(node scripts/canary-release.js && yarn build && yarn changeset publish --tag alpha) || echo Skipping Canary...", "format": "prettier --ignore-path .gitignore --write \"packages/**/*.{js,jsx,json,css,md,mdx,ts,tsx}\"", "pr": "changeset", "lint": "eslint \"packages/**/*.{js,jsx,ts,tsx}\"", @@ -30,8 +29,8 @@ "@babel/preset-typescript": "7.17.12", "@babel/plugin-proposal-decorators": "7.18.2", "@babel/plugin-proposal-class-properties": "7.17.12", - "@changesets/apply-release-plan": "5.0.1", - "@changesets/cli": "2.23.0", + "@changesets/cli": "2.24.2", + "@changesets/changelog-github": "0.4.6", "@envelop/graphql-modules": "3.3.3", "@graphql-tools/merge": "8.2.14", "@graphql-yoga/node": "2.9.2", diff --git a/patches/@changesets+apply-release-plan+5.0.1.patch b/patches/@changesets+apply-release-plan+5.0.1.patch deleted file mode 100644 index d2e54a0800..0000000000 --- a/patches/@changesets+apply-release-plan+5.0.1.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.dev.js b/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.dev.js -index 5435d7a..a95a3ad 100644 ---- a/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.dev.js -+++ b/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.dev.js -@@ -117,7 +117,8 @@ const DEPENDENCY_TYPES = ["dependencies", "devDependencies", "peerDependencies", - function versionPackage(release, versionsToUpdate, { - updateInternalDependencies, - onlyUpdatePeerDependentsWhenOutOfRange, -- bumpVersionsWithWorkspaceProtocolOnly -+ bumpVersionsWithWorkspaceProtocolOnly, -+ ignoreRange - }) { - let { - newVersion, -@@ -159,7 +160,7 @@ function versionPackage(release, versionsToUpdate, { - // they probably want it to stay like that - new semver.Range(depCurrentVersion).range !== "") { - let rangeType = getVersionRangeType__default['default'](depCurrentVersion); -- let newNewRange = `${rangeType}${version}`; -+ let newNewRange = ignoreRange ? version : `${rangeType}${version}`; - if (usesWorkspaceRange) newNewRange = `workspace:${newNewRange}`; - deps[name] = newNewRange; - } -@@ -273,7 +274,7 @@ async function getCommitsThatAddChangesets(changesetIds, cwd) { - return commits; - } - --async function applyReleasePlan(releasePlan, packages, config$1 = config.defaultConfig, snapshot) { -+async function applyReleasePlan(releasePlan, packages, config$1 = config.defaultConfig, snapshot, ignoreRange = false) { - let cwd = packages.root.dir; - let touchedFiles = []; - const packagesByName = new Map(packages.packages.map(x => [x.packageJson.name, x])); -@@ -311,6 +312,7 @@ async function applyReleasePlan(releasePlan, packages, config$1 = config.default - let finalisedRelease = releaseWithChangelogs.map(release => { - return versionPackage(release, versionsToUpdate, { - updateInternalDependencies: config$1.updateInternalDependencies, -+ ignoreRange, - onlyUpdatePeerDependentsWhenOutOfRange: config$1.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange, - bumpVersionsWithWorkspaceProtocolOnly: config$1.bumpVersionsWithWorkspaceProtocolOnly - }); -diff --git a/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.prod.js b/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.prod.js -index f83761f..bc94382 100644 ---- a/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.prod.js -+++ b/node_modules/@changesets/apply-release-plan/dist/apply-release-plan.cjs.prod.js -@@ -64,7 +64,7 @@ function shouldUpdateDependencyBasedOnConfig(release, {depVersionRange: depVersi - - const DEPENDENCY_TYPES = [ "dependencies", "devDependencies", "peerDependencies", "optionalDependencies" ]; - --function versionPackage(release, versionsToUpdate, {updateInternalDependencies: updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange: onlyUpdatePeerDependentsWhenOutOfRange, bumpVersionsWithWorkspaceProtocolOnly: bumpVersionsWithWorkspaceProtocolOnly}) { -+function versionPackage(release, versionsToUpdate, {ignoreRange, updateInternalDependencies: updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange: onlyUpdatePeerDependentsWhenOutOfRange, bumpVersionsWithWorkspaceProtocolOnly: bumpVersionsWithWorkspaceProtocolOnly}) { - let {newVersion: newVersion, packageJson: packageJson} = release; - packageJson.version = newVersion; - for (let depType of DEPENDENCY_TYPES) { -@@ -84,7 +84,7 @@ function versionPackage(release, versionsToUpdate, {updateInternalDependencies: - const usesWorkspaceRange = depCurrentVersion.startsWith("workspace:"); - if (usesWorkspaceRange) depCurrentVersion = depCurrentVersion.substr(10); else if (!0 === bumpVersionsWithWorkspaceProtocolOnly) continue; - if ("" !== new semver.Range(depCurrentVersion).range) { -- let newNewRange = `${getVersionRangeType__default.default(depCurrentVersion)}${version}`; -+ let newNewRange = ignoreRange ? version : `${getVersionRangeType__default.default(depCurrentVersion)}${version}`; - usesWorkspaceRange && (newNewRange = "workspace:" + newNewRange), deps[name] = newNewRange; - } - } -@@ -161,7 +161,7 @@ async function getCommitsThatAddChangesets(changesetIds, cwd) { - })), commits; - } - --async function applyReleasePlan(releasePlan, packages, config$1 = config.defaultConfig, snapshot) { -+async function applyReleasePlan(releasePlan, packages, config$1 = config.defaultConfig, snapshot, ignoreRange = false) { - let cwd = packages.root.dir, touchedFiles = []; - const packagesByName = new Map(packages.packages.map((x => [ x.packageJson.name, x ]))); - let {releases: releases, changesets: changesets} = releasePlan; -@@ -178,6 +178,7 @@ async function applyReleasePlan(releasePlan, packages, config$1 = config.default - type: type - }))), finalisedRelease = releaseWithChangelogs.map((release => versionPackage(release, versionsToUpdate, { - updateInternalDependencies: config$1.updateInternalDependencies, -+ ignoreRange, - onlyUpdatePeerDependentsWhenOutOfRange: config$1.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange, - bumpVersionsWithWorkspaceProtocolOnly: config$1.bumpVersionsWithWorkspaceProtocolOnly - }))), prettierConfig = await prettier__default.default.resolveConfig(cwd); diff --git a/scripts/canary-release.js b/scripts/canary-release.js deleted file mode 100644 index 3580f319d3..0000000000 --- a/scripts/canary-release.js +++ /dev/null @@ -1,94 +0,0 @@ -/* eslint-disable no-console */ -const semver = require('semver'); -const cp = require('child_process'); -const { basename } = require('path'); - -const { read: readConfig } = require('@changesets/config'); -const readChangesets = require('@changesets/read').default; -const assembleReleasePlan = require('@changesets/assemble-release-plan') - .default; -const applyReleasePlan = require('@changesets/apply-release-plan').default; -const { getPackages } = require('@manypkg/get-packages'); - -function getNewVersion(version, type) { - const gitHash = cp - .spawnSync('git', ['rev-parse', '--short', 'HEAD']) - .stdout.toString() - .trim(); - - return semver.inc(version, `pre${type}`, true, 'alpha-' + gitHash); -} - -function getRelevantChangesets(baseBranch) { - const comparePoint = cp - .spawnSync('git', ['merge-base', `origin/${baseBranch}`, 'HEAD']) - .stdout.toString() - .trim(); - const listModifiedFiles = cp - .spawnSync('git', ['diff', '--name-only', comparePoint]) - .stdout.toString() - .trim() - .split('\n'); - - return listModifiedFiles - .filter((f) => f.startsWith('.changeset')) - .map((f) => basename(f, '.md')); -} - -async function updateVersions() { - const cwd = process.cwd(); - const packages = await getPackages(cwd); - const config = await readConfig(cwd, packages); - const modifiedChangesets = getRelevantChangesets(config.baseBranch); - const changesets = (await readChangesets(cwd)).filter((change) => - modifiedChangesets.includes(change.id) - ); - - if (changesets.length === 0) { - console.warn( - `Unable to find any relevant package for canary publishing. Please make sure changesets exists!` - ); - process.exit(1); - } else { - const releasePlan = assembleReleasePlan( - changesets, - packages, - config, - [], - false - ); - - if (releasePlan.releases.length === 0) { - console.warn( - `Unable to find any relevant package for canary releasing. Please make sure changesets exists!` - ); - process.exit(1); - } else { - for (const release of releasePlan.releases) { - if (release.type !== 'none') { - release.newVersion = getNewVersion(release.oldVersion, release.type); - } - } - - await applyReleasePlan( - releasePlan, - packages, - { - ...config, - commit: false, - }, - false, - true - ); - } - } -} - -updateVersions() - .then(() => { - console.info(`Done!`); - }) - .catch((err) => { - console.error(err); - process.exit(1); - }); diff --git a/yarn.lock b/yarn.lock index 0b49dbd6e2..7a14bbc364 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1830,35 +1830,16 @@ dependencies: "@chakra-ui/utils" "1.10.4" -"@changesets/apply-release-plan@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-5.0.1.tgz#ed3e30550f787ef1b72f0a51e29a54d244123109" - integrity sha512-ltYLM/PPoL1Un9hnNCbUac25FWonJvIZ/9C3O4UyZ/k4rir9FGvH6KLtMOiPEAJWnXmaHeRDr06MzohuXOnmvw== - dependencies: - "@babel/runtime" "^7.10.4" - "@changesets/config" "^1.6.1" - "@changesets/get-version-range-type" "^0.3.2" - "@changesets/git" "^1.1.2" - "@changesets/types" "^4.0.1" - "@manypkg/get-packages" "^1.0.1" - detect-indent "^6.0.0" - fs-extra "^7.0.1" - lodash.startcase "^4.4.0" - outdent "^0.5.0" - prettier "^1.19.1" - resolve-from "^5.0.0" - semver "^5.4.1" - -"@changesets/apply-release-plan@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-6.0.0.tgz#6c663ff99d919bba3902343d76c35cbbbb046520" - integrity sha512-gp6nIdVdfYdwKww2+f8whckKmvfE4JEm4jJgBhTmooi0uzHWhnxvk6JIzQi89qEAMINN0SeVNnXiAtbFY0Mj3w== +"@changesets/apply-release-plan@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-6.0.4.tgz#c08628cf5381be1aad3de69e255c68f658b4ca1a" + integrity sha512-PutV/ymf8cZMqvaLe/Lh5cP3kBQ9FZl6oGQ3qRDxWD1ML+/uH3jrCE7S7Zw7IVSXkD0lnMD+1dAX7fsOJ6ZvgA== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/config" "^2.0.0" + "@changesets/config" "^2.1.1" "@changesets/get-version-range-type" "^0.3.2" - "@changesets/git" "^1.3.2" - "@changesets/types" "^5.0.0" + "@changesets/git" "^1.4.1" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" detect-indent "^6.0.0" fs-extra "^7.0.1" @@ -1868,44 +1849,53 @@ resolve-from "^5.0.0" semver "^5.4.1" -"@changesets/assemble-release-plan@^5.1.3": - version "5.1.3" - resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.1.3.tgz#b415c5db64e5a30c53aed8c1adc5ab4c4aaad283" - integrity sha512-I+TTkUoqvxBEuDLoJfJYKDXIJ+nyiTbVJ8KGhpXEsLq4N/ms/AStSbouJwF2d/p3cB+RCPr5+gXh31GSN4kA7w== +"@changesets/assemble-release-plan@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.0.tgz#35158dc9b496a4c108936ae8ad776ef855795ff6" + integrity sha512-ewY24PEbSec2eKX0+KM7eyENA2hUUp6s4LF9p/iBxTtc+TX2Xbx5rZnlLKZkc8tpuQ3PZbyjLFXWhd1PP6SjCg== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" - "@changesets/types" "^5.0.0" + "@changesets/get-dependents-graph" "^1.3.3" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" semver "^5.4.1" -"@changesets/changelog-git@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@changesets/changelog-git/-/changelog-git-0.1.11.tgz#80eb45d3562aba2164f25ccc31ac97b9dcd1ded3" - integrity sha512-sWJvAm+raRPeES9usNpZRkooeEB93lOpUN0Lmjz5vhVAb7XGIZrHEJ93155bpE1S0c4oJ5Di9ZWgzIwqhWP/Wg== +"@changesets/changelog-git@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@changesets/changelog-git/-/changelog-git-0.1.12.tgz#5393f74ce9591c25d6a632c20184e92ae343db0d" + integrity sha512-Xv2CPjTBmwjl8l4ZyQ3xrsXZMq8WafPUpEonDpTmcb24XY8keVzt7ZSCJuDz035EiqrjmDKDhODoQ6XiHudlig== + dependencies: + "@changesets/types" "^5.1.0" + +"@changesets/changelog-github@0.4.6": + version "0.4.6" + resolved "https://registry.yarnpkg.com/@changesets/changelog-github/-/changelog-github-0.4.6.tgz#5880448c578a160c06d8bd804872355ec0745dcb" + integrity sha512-ahR/+o3OPodzfG9kucEMU/tEtBgwy6QoJiWi1sDBPme8n3WjT6pBlbhqNYpWAJKilomwfjBGY0MTUTs6r9d1RQ== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/get-github-info" "^0.5.1" + "@changesets/types" "^5.1.0" + dotenv "^8.1.0" -"@changesets/cli@2.23.0": - version "2.23.0" - resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.23.0.tgz#e325b2d1b0484188671f684773b8cd5d42d068f1" - integrity sha512-Gi3tMi0Vr6eNd8GX6q73tbOm9XOzGfuLEm4PYVeWG2neg5DlRGNOjYwrFULJ/An3N9MHtHn4r5h1Qvnju9Ijug== +"@changesets/cli@2.24.2": + version "2.24.2" + resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.24.2.tgz#333ad412c821b582680fbc7f0d0596ebba442c2d" + integrity sha512-Bya7bnxF8Sz+O25M6kseAludVsCy5nXSW9u2Lbje/XbJTyU5q/xwIiXF9aTUzVi/4jyKoKoOasx7B1/z+NJLzg== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/apply-release-plan" "^6.0.0" - "@changesets/assemble-release-plan" "^5.1.3" - "@changesets/changelog-git" "^0.1.11" - "@changesets/config" "^2.0.0" + "@changesets/apply-release-plan" "^6.0.4" + "@changesets/assemble-release-plan" "^5.2.0" + "@changesets/changelog-git" "^0.1.12" + "@changesets/config" "^2.1.1" "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" - "@changesets/get-release-plan" "^3.0.9" - "@changesets/git" "^1.3.2" + "@changesets/get-dependents-graph" "^1.3.3" + "@changesets/get-release-plan" "^3.0.13" + "@changesets/git" "^1.4.1" "@changesets/logger" "^0.0.5" - "@changesets/pre" "^1.0.11" - "@changesets/read" "^0.5.5" - "@changesets/types" "^5.0.0" - "@changesets/write" "^0.1.8" + "@changesets/pre" "^1.0.12" + "@changesets/read" "^0.5.7" + "@changesets/types" "^5.1.0" + "@changesets/write" "^0.1.9" "@manypkg/get-packages" "^1.1.3" "@types/is-ci" "^3.0.0" "@types/semver" "^6.0.0" @@ -1926,28 +1916,15 @@ term-size "^2.1.0" tty-table "^4.1.5" -"@changesets/config@^1.6.1": - version "1.6.4" - resolved "https://registry.yarnpkg.com/@changesets/config/-/config-1.6.4.tgz#c904c84f067b49c09b378618b751089dd29ed0b7" - integrity sha512-WWa8eR8GzS/p2atLc/+5UEDn7fsRCZ+/sShLkB/3efVbTkSTB1PwoKwQRXLYXM1DY289T7UnJT4HLZA3Gcreww== - dependencies: - "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.0" - "@changesets/logger" "^0.0.5" - "@changesets/types" "^4.0.2" - "@manypkg/get-packages" "^1.1.3" - fs-extra "^7.0.1" - micromatch "^4.0.2" - -"@changesets/config@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@changesets/config/-/config-2.0.0.tgz#1770fdfeba2155cf07154c37e96b55cbd27969f0" - integrity sha512-r5bIFY6CN3K6SQ+HZbjyE3HXrBIopONR47mmX7zUbORlybQXtympq9rVAOzc0Oflbap8QeIexc+hikfZoREXDg== +"@changesets/config@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@changesets/config/-/config-2.1.1.tgz#96c1fec5dcccb4f6d37b56bba64e5c4f3285cca6" + integrity sha512-nSRINMqHpdtBpNVT9Eh9HtmLhOwOTAeSbaqKM5pRmGfsvyaROTBXV84ujF9UsWNlV71YxFbxTbeZnwXSGQlyTw== dependencies: "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" + "@changesets/get-dependents-graph" "^1.3.3" "@changesets/logger" "^0.0.5" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" fs-extra "^7.0.1" micromatch "^4.0.2" @@ -1959,28 +1936,36 @@ dependencies: extendable-error "^0.1.5" -"@changesets/get-dependents-graph@^1.3.0", "@changesets/get-dependents-graph@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.2.tgz#f3ec7ce75f4afb6e3e4b6a87fde065f552c85998" - integrity sha512-tsqA6qZRB86SQuApSoDvI8yEWdyIlo/WLI4NUEdhhxLMJ0dapdeT6rUZRgSZzK1X2nv5YwR0MxQBbDAiDibKrg== +"@changesets/get-dependents-graph@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.3.tgz#9b8011d9993979a1f039ee6ce70793c81f780fea" + integrity sha512-h4fHEIt6X+zbxdcznt1e8QD7xgsXRAXd2qzLlyxoRDFSa6SxJrDAUyh7ZUNdhjBU4Byvp4+6acVWVgzmTy4UNQ== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" chalk "^2.1.0" fs-extra "^7.0.1" semver "^5.4.1" -"@changesets/get-release-plan@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.9.tgz#d445660f3679cb65e05e02adfbca037a25b45943" - integrity sha512-5C1r4DcOjVxcCvPmXpymeyT6mdSTLCNiB2L+5uf19BRkDKndJdIQorH5Fe2XBR2nHUcZQFT+2TXDzCepat969w== +"@changesets/get-github-info@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@changesets/get-github-info/-/get-github-info-0.5.1.tgz#5a20328b26f301b2193717abb32e73651e8811b7" + integrity sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw== + dependencies: + dataloader "^1.4.0" + node-fetch "^2.5.0" + +"@changesets/get-release-plan@^3.0.13": + version "3.0.13" + resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.13.tgz#f5f7b67b798d1bf2d6e8e546a60c199dd09bfeaf" + integrity sha512-Zl/UN4FUzb5LwmzhO2STRijJT5nQCN4syPEs0p1HSIR+O2iVOzes+2yTLF2zGiOx8qPOsFx/GRSAvuhSzm+9ig== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/assemble-release-plan" "^5.1.3" - "@changesets/config" "^2.0.0" - "@changesets/pre" "^1.0.11" - "@changesets/read" "^0.5.5" - "@changesets/types" "^5.0.0" + "@changesets/assemble-release-plan" "^5.2.0" + "@changesets/config" "^2.1.1" + "@changesets/pre" "^1.0.12" + "@changesets/read" "^0.5.7" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" "@changesets/get-version-range-type@^0.3.2": @@ -1988,14 +1973,14 @@ resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== -"@changesets/git@^1.1.2", "@changesets/git@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@changesets/git/-/git-1.3.2.tgz#336051d9a6d965806b1bc473559a9a2cc70773a6" - integrity sha512-p5UL+urAg0Nnpt70DLiBe2iSsMcDubTo9fTOD/61krmcJ466MGh71OHwdAwu1xG5+NKzeysdy1joRTg8CXcEXA== +"@changesets/git@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@changesets/git/-/git-1.4.1.tgz#3f30330d94e8bcb45c4a221f34897a29cc72cd05" + integrity sha512-GWwRXEqBsQ3nEYcyvY/u2xUK86EKAevSoKV/IhELoZ13caZ1A1TSak/71vyKILtzuLnFPk5mepP5HjBxr7lZ9Q== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" is-subdir "^1.1.1" spawndamnit "^2.0.0" @@ -2007,56 +1992,56 @@ dependencies: chalk "^2.1.0" -"@changesets/parse@^0.3.13": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@changesets/parse/-/parse-0.3.13.tgz#82788c1fc18da4750b07357a7a06142d0d975aa1" - integrity sha512-wh9Ifa0dungY6d2nMz6XxF6FZ/1I7j+mEgPAqrIyKS64nifTh1Ua82qKKMMK05CL7i4wiB2NYc3SfnnCX3RVeA== +"@changesets/parse@^0.3.14": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@changesets/parse/-/parse-0.3.14.tgz#97321604206db2572c17a12ed37671d9ee6d5e14" + integrity sha512-SWnNVyC9vz61ueTbuxvA6b4HXcSx2iaWr2VEa37lPg1Vw+cEyQp7lOB219P7uow1xFfdtIEEsxbzXnqLAAaY8w== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" js-yaml "^3.13.1" -"@changesets/pre@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@changesets/pre/-/pre-1.0.11.tgz#46a56790fdceabd03407559bbf91340c8e83fb6a" - integrity sha512-CXZnt4SV9waaC9cPLm7818+SxvLKIDHUxaiTXnJYDp1c56xIexx1BNfC1yMuOdzO2a3rAIcZua5Odxr3dwSKfg== +"@changesets/pre@^1.0.12": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@changesets/pre/-/pre-1.0.12.tgz#1eaeef1a264b32c24d85dc15cf5445c1aa8b87c6" + integrity sha512-RFzWYBZx56MtgMesXjxx7ymyI829/rcIw/41hvz3VJPnY8mDscN7RJyYu7Xm7vts2Fcd+SRcO0T/Ws3I1/6J7g== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" fs-extra "^7.0.1" -"@changesets/read@^0.5.5": - version "0.5.5" - resolved "https://registry.yarnpkg.com/@changesets/read/-/read-0.5.5.tgz#9ed90ef3e9f1ba3436ba5580201854a3f4163058" - integrity sha512-bzonrPWc29Tsjvgh+8CqJ0apQOwWim0zheeD4ZK44ApSa/GudnZJTODtA3yNOOuQzeZmL0NUebVoHIurtIkA7w== +"@changesets/read@^0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@changesets/read/-/read-0.5.7.tgz#ad2454ba8e2dfceb1230102aacffcbbe4d3d4291" + integrity sha512-Iteg0ccTPpkJ+qFzY97k7qqdVE5Kz30TqPo9GibpBk2g8tcLFUqf+Qd0iXPLcyhUZpPL1U6Hia1gINHNKIKx4g== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/git" "^1.3.2" + "@changesets/git" "^1.4.1" "@changesets/logger" "^0.0.5" - "@changesets/parse" "^0.3.13" - "@changesets/types" "^5.0.0" + "@changesets/parse" "^0.3.14" + "@changesets/types" "^5.1.0" chalk "^2.1.0" fs-extra "^7.0.1" p-filter "^2.1.0" -"@changesets/types@^4.0.1", "@changesets/types@^4.0.2": +"@changesets/types@^4.0.1": version "4.0.2" resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.0.2.tgz#d20e1e45bdc96a97cc509c655e708b53a9292465" integrity sha512-OeDaB7D+WVy/ErymPzFm58IeGvz4DOl+oedyZETfnkfMezF/Uhrm1Ub6MHrO5LcAaQTW+ptDmr0fmaVyoTxgHw== -"@changesets/types@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@changesets/types/-/types-5.0.0.tgz#d5eb52d074bc0358ce47d54bca54370b907812a0" - integrity sha512-IT1kBLSbAgTS4WtpU6P5ko054hq12vk4tgeIFRVE7Vnm4a/wgbNvBalgiKP0MjEXbCkZbItiGQHkCGxYWR55sA== +"@changesets/types@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@changesets/types/-/types-5.1.0.tgz#e0733b69ddc3efb68524d374d3c44f53a543c8d5" + integrity sha512-uUByGATZCdaPkaO9JkBsgGDjEvHyY2Sb0e/J23+cwxBi5h0fxpLF/HObggO/Fw8T2nxK6zDfJbPsdQt5RwYFJA== -"@changesets/write@^0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@changesets/write/-/write-0.1.8.tgz#feed408f644c496bc52afc4dd1353670b4152ecb" - integrity sha512-oIHeFVMuP6jf0TPnKPpaFpvvAf3JBc+s2pmVChbeEgQTBTALoF51Z9kqxQfG4XONZPHZnqkmy564c7qohhhhTQ== +"@changesets/write@^0.1.9": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@changesets/write/-/write-0.1.9.tgz#ac9315d5985f83b251820b8a046155c14a9d21f4" + integrity sha512-E90ZrsrfJVOOQaP3Mm5Xd7uDwBAqq3z5paVEavTHKA8wxi7NAL8CmjgbGxSFuiP7ubnJA2BuHlrdE4z86voGOg== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" fs-extra "^7.0.1" human-id "^1.0.2" prettier "^1.19.1" @@ -2674,7 +2659,7 @@ find-up "^4.1.0" fs-extra "^8.1.0" -"@manypkg/get-packages@^1.0.1", "@manypkg/get-packages@^1.1.3": +"@manypkg/get-packages@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== @@ -5884,6 +5869,11 @@ dataloader@2.1.0: resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ== +dataloader@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" + integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== + date-fns@^2.16.1: version "2.28.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" @@ -6224,6 +6214,11 @@ dot-prop@^4.2.1: dependencies: is-obj "^1.0.0" +dotenv@^8.1.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + driftless@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/driftless/-/driftless-2.0.3.tgz#4378cade7aa8e39dee33faa94413bdc67850d90b" @@ -10613,7 +10608,7 @@ node-emoji@^1.11.0: dependencies: lodash "^4.17.21" -node-fetch@^2.6.7: +node-fetch@^2.5.0, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==