diff --git a/.circleci/config.yml b/.circleci/config.yml index 9ae16c7ac03c..198fdb93faea 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -43,7 +43,7 @@ executors: default: 'small' working_directory: /tmp/storybook docker: - - image: mcr.microsoft.com/playwright:v1.34.3-focal + - image: mcr.microsoft.com/playwright:v1.35.0-focal environment: NODE_OPTIONS: --max_old_space_size=6144 resource_class: <> diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 6ba97bf38f0f..000000000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# Any change inside the `/code` and `/scripts` directories will require approval from @storybookjs/core team. - -/.github/ @storybookjs/core -/.circleci/ @storybookjs/core -/.yarn/ @storybookjs/core -/code/ @storybookjs/core -/scripts/ @storybookjs/core -/package.json @storybookjs/core diff --git a/.github/workflows/canary-release-pr.WIP b/.github/workflows/canary-release-pr.WIP new file mode 100644 index 000000000000..0c5948948959 --- /dev/null +++ b/.github/workflows/canary-release-pr.WIP @@ -0,0 +1,88 @@ +name: Publish canary release of PR +run-name: 'Canary release: PR #${{ github.event.pull_request.number }} at ${{ github.sha }}' + +on: + pull_request: + types: [opened, synchronize, reopened] + branches: + - next + +env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1 + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +permissions: + pull-requests: write + +jobs: + release-canary: + name: Release canary version + runs-on: ubuntu-latest + environment: canary-release + defaults: + run: + working-directory: scripts + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + ~/.yarn/berry/cache + key: yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + restore-keys: | + yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + yarn-v1-${{ hashFiles('scripts/yarn.lock') }} + yarn-v1 + + - name: Install dependencies + working-directory: . + run: yarn task --task=install --start-from=install + + - name: Set version + id: version + run: | + SHORT_SHA=$(git rev-parse --short ${{ github.sha }}) + yarn release:version --release-type prerelease --pre-id pr-${{ github.event.pull_request.number }}-$SHORT_SHA --verbose + + - name: Publish v${{ steps.version.outputs.next-version }} + env: + YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: yarn release:publish --tag pr-${{ github.event.pull_request.number }} --verbose + + - name: Create comment on PR + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr comment ${{ github.event.pull_request.number }}\ + --repo "${{github.repository }}"\ + --body "🚀 This pull request has been published as version \`${{ steps.version.outputs.next-version }}\` and with the tag \`pr-${{ github.event.pull_request.number }}\`. + [You can see it on the npm registry here](https://npmjs.com/package/@storybook/cli/v/${{ steps.version.outputs.next-version }})". + + - name: Create failing comment on PR + if: failure() + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr comment ${{ github.event.pull_request.number }}\ + --repo "${{github.repository }}"\ + --body "Failed to publish canary version of this pul request. See the failed workflow run at See run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + + # - name: Report failure to Discord + # if: failure() + # env: + # DISCORD_WEBHOOK: ${{ secrets.DISCORD_MONITORING_URL }} + # uses: Ilshidur/action-discord@master + # with: + # args: 'The GitHub Action for publishing version ${{ steps.version.outputs.current-version }} (triggered by ${{ github.triggering_actor }}) failed! See run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' diff --git a/.github/workflows/check-release-tasks.yml b/.github/workflows/check-release-tasks.yml new file mode 100644 index 000000000000..4848ae35f07e --- /dev/null +++ b/.github/workflows/check-release-tasks.yml @@ -0,0 +1,19 @@ +name: Check release tasks +run-name: 'Check tasks for "${{ github.event.pull_request.title }}" PR' + +on: + pull_request: + types: + - opened + - edited + branches: + - 'latest-release' + - 'next-release' + +jobs: + task-check: + runs-on: ubuntu-latest + steps: + - uses: chromaui/task-completed-checker-action@main + with: + repo-token: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.github/workflows/danger-js.yml b/.github/workflows/danger-js.yml index edeb4aaad03a..f83519953b4b 100644 --- a/.github/workflows/danger-js.yml +++ b/.github/workflows/danger-js.yml @@ -1,6 +1,19 @@ on: pull_request: - types: [opened, synchronize, reopened, labeled, unlabeled] + types: + - opened + - synchronize + - reopened + - labeled + - unlabeled + - edited + branches: + - main + - next + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number }} + cancel-in-progress: true name: Danger JS jobs: @@ -13,7 +26,7 @@ jobs: node-version: '16' - uses: actions/checkout@v3 - name: Danger JS - uses: danger/danger-js@10.9.0 + uses: danger/danger-js@11.2.6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/prepare-patch-release.yml b/.github/workflows/prepare-patch-release.yml new file mode 100644 index 000000000000..d5a8ca655af6 --- /dev/null +++ b/.github/workflows/prepare-patch-release.yml @@ -0,0 +1,175 @@ +name: Prepare patch PR +run-name: Prepare patch PR, triggered by ${{ github.triggering_actor }} + +on: + push: + branches: + - next + workflow_dispatch: + +env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1 + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + prepare-patch-pull-request: + name: Prepare patch pull request + runs-on: ubuntu-latest + defaults: + run: + working-directory: scripts + steps: + - name: Checkout main + uses: actions/checkout@v3 + with: + ref: main + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + ~/.yarn/berry/cache + key: yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + restore-keys: | + yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + yarn-v1-${{ hashFiles('scripts/yarn.lock') }} + yarn-v1 + + - name: Install Dependencies + working-directory: . + run: | + yarn task --task=install + + - name: Check if pull request is frozen + if: github.event_name != 'workflow_dispatch' + id: check-frozen + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:is-pr-frozen + + - name: Cancel when frozen + if: steps.check-frozen.outputs.frozen == 'true' && github.event_name != 'workflow_dispatch' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # From https://stackoverflow.com/a/75809743 + run: | + gh run cancel ${{ github.run_id }} + gh run watch ${{ github.run_id }} + + - name: Check for unreleased changes + id: unreleased-changes + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:unreleased-changes-exists --unpicked-patches + + - name: Fetch next branch + run: + # depth needs to be set to a high enough number that it will contain all the merge commits to cherry-pick + # as of May 2023, the whole repo had 55K commits + git fetch --depth=2000 origin next + + - name: Pick patches + id: pick-patches + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + yarn release:pick-patches + + - name: Bump version + id: bump-version + if: steps.unreleased-changes.outputs.has-changes-to-release == 'true' + run: | + yarn release:version --release-type patch --verbose + + # We need the current version to set the branch name, even when not bumping the version + - name: Get current version + id: current-version + if: steps.unreleased-changes.outputs.has-changes-to-release == 'false' + run: | + yarn release:get-current-version --verbose + + - name: Set version output + id: versions + run: | + echo "current=${{ steps.bump-version.outputs.current-version || steps.current-version.outputs.current-version }}" >> "$GITHUB_OUTPUT" + echo "next=${{ steps.bump-version.outputs.next-version || steps.current-version.outputs.current-version }}" >> "$GITHUB_OUTPUT" + + - name: Write changelog + if: steps.unreleased-changes.outputs.has-changes-to-release == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + yarn release:write-changelog ${{ steps.versions.outputs.next }} --unpicked-patches --verbose + + - name: 'Commit changes to branch: version-patch-from-${{ steps.versions.outputs.current }}' + working-directory: . + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git checkout -b version-patch-from-${{ steps.versions.outputs.current }} + git add . + git commit -m "Bump version from ${{ steps.versions.outputs.current }} to ${{ steps.versions.outputs.next }}" || true + git push --force origin version-patch-from-${{ steps.versions.outputs.current }} + + - name: Generate PR description + id: description + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:generate-pr-description --unpicked-patches --manual-cherry-picks='${{ steps.pick-patches.outputs.failed-cherry-picks }}' ${{ steps.unreleased-changes.outputs.has-changes-to-release == 'true' && format('{0}={1} {2}={3}', '--current-version', steps.versions.outputs.current, '--next-version', steps.versions.outputs.next) || '' }} --verbose + + - name: Create or update pull request with release + if: steps.unreleased-changes.outputs.has-changes-to-release == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if PR_STATE=$(gh pr view --json state --jq .state 2>/dev/null) && [[ -n "$PR_STATE" && "$PR_STATE" == *"OPEN"* ]]; then + gh pr edit \ + --repo "${{github.repository }}" \ + --title "Bump version on \`main\`: patch from ${{ steps.versions.outputs.current }} to ${{ steps.versions.outputs.next }}" \ + --body "${{ steps.description.outputs.description }}" + else + gh pr create \ + --repo "${{github.repository }}" \ + --title "Bump version on \`main\`: patch from ${{ steps.versions.outputs.current }} to ${{ steps.versions.outputs.next }}" \ + --base latest-release \ + --head version-patch-from-${{ steps.versions.outputs.current }} \ + --body "${{ steps.description.outputs.description }}" + fi + + - name: Create or update pull request without release + if: steps.unreleased-changes.outputs.has-changes-to-release == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if PR_STATE=$(gh pr view --json state --jq .state 2>/dev/null) && [[ -n "$PR_STATE" && "$PR_STATE" == *"OPEN"* ]]; then + gh pr edit \ + --repo "${{github.repository }}"\ + --title "Merge patches to \`main\`" \ + --body "${{ steps.description.outputs.description }}" + else + gh pr create \ + --repo "${{github.repository }}"\ + --title "Merge patches to \`main\`" \ + --base latest-release \ + --head version-patch-from-${{ steps.versions.outputs.current }} \ + --body "${{ steps.description.outputs.description }}" + fi + + - name: Report job failure to Discord + if: failure() + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_MONITORING_URL }} + uses: Ilshidur/action-discord@master + with: + args: 'The GitHub Action for preparing the release pull request bumping from v${{ steps.versions.outputs.current }} to v${{ steps.versions.outputs.next }} (triggered by ${{ github.triggering_actor }}) failed! See run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' diff --git a/.github/workflows/prepare-prerelease.yml b/.github/workflows/prepare-prerelease.yml new file mode 100644 index 000000000000..932c4b31f64f --- /dev/null +++ b/.github/workflows/prepare-prerelease.yml @@ -0,0 +1,159 @@ +name: Prepare prerelease PR +run-name: Prepare prerelease PR, triggered by ${{ github.triggering_actor }} + +on: + push: + branches: + - next + workflow_dispatch: + inputs: + release-type: + description: 'Which release type to use for bumping the version' + required: true + default: 'prerelease' + type: choice + options: + - prerelease + - prepatch + - preminor + - premajor + - patch + - minor + - major + pre-id: + description: For prerelease versions, what prerelease identifier to use, eg. 'alpha', 'beta', 'rc' + required: false + type: string + +env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1 + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + prepare-prerelease-pull-request: + name: Prepare prerelease pull request + runs-on: ubuntu-latest + defaults: + run: + working-directory: scripts + steps: + - name: Checkout next + uses: actions/checkout@v3 + with: + ref: next + # this needs to be set to a high enough number that it will contain the last version tag + # as of May 2023, the whole repo had 55K commits + fetch-depth: 10000 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + ~/.yarn/berry/cache + key: yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + restore-keys: | + yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + yarn-v1-${{ hashFiles('scripts/yarn.lock') }} + yarn-v1 + + - name: Install Dependencies + working-directory: . + run: | + yarn task --task=install + + - name: Check if pull request is frozen + if: github.event_name != 'workflow_dispatch' + id: check-frozen + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:is-pr-frozen + + - name: Cancel when frozen + if: steps.check-frozen.outputs.frozen == 'true' && github.event_name != 'workflow_dispatch' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # From https://stackoverflow.com/a/75809743 + run: | + gh run cancel ${{ github.run_id }} + gh run watch ${{ github.run_id }} + + # tags are needed to get changes and changelog generation + - name: Fetch git tags + run: git fetch --tags origin + + - name: Check for unreleased changes + id: unreleased-changes + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:unreleased-changes-exists + + - name: Cancel when no release necessary + if: steps.unreleased-changes.outputs.has-changes-to-release == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # From https://stackoverflow.com/a/75809743 + run: | + gh run cancel ${{ github.run_id }} + gh run watch ${{ github.run_id }} + + - name: Bump version + id: bump-version + run: | + yarn release:version --release-type ${{ inputs.release-type || 'prerelease' }} ${{ inputs.pre-id && format('{0} {1}', '--pre-id', inputs.pre-id) || '' }} --verbose + + - name: Write changelog + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + yarn release:write-changelog ${{ steps.bump-version.outputs.next-version }} --verbose + + - name: 'Commit changes to branch: version-prerelease-from-${{ steps.bump-version.outputs.current-version }}' + working-directory: . + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git checkout -b version-prerelease-from-${{ steps.bump-version.outputs.current-version }} + git add . + git commit -m "Bump version from ${{ steps.bump-version.outputs.current-version }} to ${{ steps.bump-version.outputs.next-version }}" || true + git push --force origin version-prerelease-from-${{ steps.bump-version.outputs.current-version }} + + - name: Generate PR description + id: description + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:generate-pr-description --current-version ${{ steps.bump-version.outputs.current-version }} --next-version ${{ steps.bump-version.outputs.next-version }} --verbose + + - name: Create or update pull request + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if PR_STATE=$(gh pr view --json state --jq .state 2>/dev/null) && [[ -n "$PR_STATE" && "$PR_STATE" == *"OPEN"* ]]; then + gh pr edit \ + --repo "${{github.repository }}" \ + --title "Bump version on \`next\`: ${{ inputs.release-type || 'prerelease' }} ${{ inputs.pre-id && format('({0})', inputs.pre-id) }} from ${{ steps.bump-version.outputs.current-version }} to ${{ steps.bump-version.outputs.next-version }}" \ + --body "${{ steps.description.outputs.description }}" + else + gh pr create \ + --repo "${{github.repository }}"\ + --title "Bump version on \`next\`: ${{ inputs.release-type || 'prerelease' }} ${{ inputs.pre-id && format('({0})', inputs.pre-id) }} from ${{ steps.bump-version.outputs.current-version }} to ${{ steps.bump-version.outputs.next-version }}" \ + --base next-release \ + --head version-prerelease-from-${{ steps.bump-version.outputs.current-version }} \ + --body "${{ steps.description.outputs.description }}" + fi + + - name: Report job failure to Discord + if: failure() + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_MONITORING_URL }} + uses: Ilshidur/action-discord@master + with: + args: 'The GitHub Action for preparing the release pull request bumping from v${{ steps.bump-version.outputs.current-version }} to v${{ steps.bump-version.outputs.next-version }} (triggered by ${{ github.triggering_actor }}) failed! See run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000000..8a82dfa07f17 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,135 @@ +name: Publish +run-name: Publish new version on ${{ github.ref_name }}, triggered by ${{ github.triggering_actor }} + +on: + push: + branches: + - latest-release + - next-release + +env: + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1 + +permissions: + contents: write + pull-requests: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + +jobs: + publish: + name: Publish new version + runs-on: ubuntu-latest + environment: release + defaults: + run: + working-directory: scripts + steps: + - name: Checkout ${{ github.ref_name }} + uses: actions/checkout@v3 + with: + fetch-depth: 100 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + ~/.yarn/berry/cache + key: yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + restore-keys: | + yarn-v1-${{ hashFiles('scripts/yarn.lock') }}-${{ hashFiles('code/yarn.lock') }} + yarn-v1-${{ hashFiles('scripts/yarn.lock') }} + yarn-v1 + + - name: Install script dependencies + run: | + yarn install + + - name: Get current version + id: version + run: yarn release:get-current-version + + - name: Check if publish is needed + id: publish-needed + run: yarn release:is-version-published ${{ steps.version.outputs.current-version }} + + - name: Check release vs prerelease + if: steps.publish-needed.outputs.published == 'false' + id: is-prerelease + run: yarn release:is-prerelease + + - name: Install code dependencies + if: steps.publish-needed.outputs.published == 'false' + working-directory: . + run: yarn task --task=install --start-from=install + + - name: Publish + if: steps.publish-needed.outputs.published == 'false' + env: + YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: yarn release:publish --tag ${{ steps.is-prerelease.outputs.prerelease == 'true' && 'next' || 'latest' }} --verbose + + - name: Get target branch + id: target + run: echo "target=${{ github.ref_name == 'next-release' && 'next' || 'main' }}" >> $GITHUB_OUTPUT + + - name: Get changelog for ${{ steps.version.outputs.current-version }} + if: steps.publish-needed.outputs.published == 'false' + id: changelog + run: yarn release:get-changelog-from-file ${{ steps.version.outputs.current-version }} + + # tags are needed to get list of patches to label as picked + - name: Fetch git tags + if: github.ref_name == 'main-release' + run: git fetch --tags origin + + - name: Label patch PRs as picked + if: github.ref_name == 'main-release' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release:label-patches + + - name: Create GitHub Release + if: steps.publish-needed.outputs.published == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create \ + v${{ steps.version.outputs.current-version }} \ + --repo "${{ github.repository }}" \ + --target ${{ github.ref_name }} \ + --title "v${{ steps.version.outputs.current-version }}" \ + --notes "${{ steps.changelog.outputs.changelog }}" \ + ${{ steps.is-prerelease.outputs.prerelease == 'true' && '--prerelease' || '' }} + + - name: Merge ${{ github.ref_name }} into ${{ steps.target.outputs.target }} + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git fetch origin ${{ steps.target.outputs.target }} + git checkout ${{ steps.target.outputs.target }} + git merge ${{ github.ref_name }} + git push origin ${{ steps.target.outputs.target }} + + # Force push from next to main if it is not a prerelease, and this release is from next-release + # This happens when eg. next has been tracking 7.1.0-alpha.X, and now we want to release 7.1.0 + # This will keep release-next, next and main all tracking v7.1.0 + # - name: Force push ${{ steps.target.outputs.target }} to main + # if: steps.publish-needed.outputs.published == 'false' && steps.target.outputs.target == 'next' && !steps.is-prerelease.outputs.prerelease + # run: | + # git push --force origin ${{ steps.target.outputs.target }}:main + + - name: Report job failure to Discord + if: failure() + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_MONITORING_URL }} + uses: Ilshidur/action-discord@master + with: + args: 'The GitHub Action for publishing version ${{ steps.version.outputs.current-version }} (triggered by ${{ github.triggering_actor }}) failed! See run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' diff --git a/.yarnrc.yml b/.yarnrc.yml index 419d57a0329c..57152b486ffa 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,4 +2,10 @@ installStatePath: ./.yarn/root-install-state.gz nodeLinker: node-modules +npmPublishAccess: public + +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs + spec: "@yarnpkg/plugin-workspace-tools" + yarnPath: .yarn/releases/yarn-3.5.1.cjs diff --git a/CHANGELOG.prerelease.md b/CHANGELOG.prerelease.md new file mode 100644 index 000000000000..207c26e2f8fb --- /dev/null +++ b/CHANGELOG.prerelease.md @@ -0,0 +1,17 @@ +## 7.1.0-alpha.30 + +- Web-components: Fix custom-elements order of property application - [#19183](https://github.com/storybookjs/storybook/pull/19183), thanks [@sonntag-philipp](https://github.com/sonntag-philipp)! +- Dependencies: Remove `shelljs` use - [#22995](https://github.com/storybookjs/storybook/pull/22995), thanks [@ndelangen](https://github.com/ndelangen)! +- Dependencies: Upgrade Jest related packages - [#22979](https://github.com/storybookjs/storybook/pull/22979), thanks [@ndelangen](https://github.com/ndelangen)! +- Core: Fix `builder-manager` adding multiple dashes to relative path - [#22974](https://github.com/storybookjs/storybook/pull/22974), thanks [@MarioCadenas](https://github.com/MarioCadenas)! +- Core: Add JSDoc comments to `preview-api` APIs - [#22975](https://github.com/storybookjs/storybook/pull/22975), thanks [@ndelangen](https://github.com/ndelangen)! +- Vue3: Fix source decorator to generate correct story code - [#22518](https://github.com/storybookjs/storybook/pull/22518), thanks [@chakAs3](https://github.com/chakAs3)! +- Core: Add JSDoc comments to `manager-api` APIs - [#22968](https://github.com/storybookjs/storybook/pull/22968), thanks [@ndelangen](https://github.com/ndelangen)! +- Core: Improve `of={...}` DocBlock error in story index - [#22782](https://github.com/storybookjs/storybook/pull/22782), thanks [@shilman](https://github.com/shilman)! +- UI: Simplify `overlayscrollbars` component - [#22963](https://github.com/storybookjs/storybook/pull/22963), thanks [@ndelangen](https://github.com/ndelangen)! +- Angular: Add `--open`/`--no-open` flag to `dev` command - [#22964](https://github.com/storybookjs/storybook/pull/22964), thanks [@yannbf](https://github.com/yannbf)! +- Angular: Silence compodoc when running storybook with --quiet - [#22957](https://github.com/storybookjs/storybook/pull/22957), thanks [@yannbf](https://github.com/yannbf)! +- React: Fix decorators to conditionally render children - [#22336](https://github.com/storybookjs/storybook/pull/22336), thanks [@redbugz](https://github.com/redbugz)! +- Addon-measure: Migrate to strict TS - [#22402](https://github.com/storybookjs/storybook/pull/22402), thanks [@efrenaragon96](https://github.com/efrenaragon96)! +- Feature: Add experimental status API - [#22890](https://github.com/storybookjs/storybook/pull/22890), thanks [@ndelangen](https://github.com/ndelangen)! + diff --git a/code/__mocks__/fs-extra.js b/code/__mocks__/fs-extra.js index 8ec82c844bd6..a29315078944 100644 --- a/code/__mocks__/fs-extra.js +++ b/code/__mocks__/fs-extra.js @@ -15,6 +15,7 @@ function __setMockFiles(newMockFiles) { const readFile = async (filePath) => mockFiles[filePath]; const readFileSync = (filePath = '') => mockFiles[filePath]; const existsSync = (filePath) => !!mockFiles[filePath]; +const readJson = (filePath = '') => JSON.parse(mockFiles[filePath]); const readJsonSync = (filePath = '') => JSON.parse(mockFiles[filePath]); const lstatSync = (filePath) => ({ isFile: () => !!mockFiles[filePath], @@ -24,6 +25,7 @@ const lstatSync = (filePath) => ({ fs.__setMockFiles = __setMockFiles; fs.readFile = readFile; fs.readFileSync = readFileSync; +fs.readJson = readJson; fs.readJsonSync = readJsonSync; fs.existsSync = existsSync; fs.lstatSync = lstatSync; diff --git a/code/addons/a11y/package.json b/code/addons/a11y/package.json index 50be3673336f..1af24ee5c8ab 100644 --- a/code/addons/a11y/package.json +++ b/code/addons/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-a11y", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Test component compliance with web accessibility standards", "keywords": [ "a11y", @@ -63,16 +63,16 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/addon-highlight": "7.1.0-alpha.29", - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/addon-highlight": "7.1.0-alpha.30", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "axe-core": "^4.2.0", "lodash": "^4.17.21", "react-resize-detector": "^7.1.2" diff --git a/code/addons/actions/package.json b/code/addons/actions/package.json index 95fae1c5265d..1c2f4812edf2 100644 --- a/code/addons/actions/package.json +++ b/code/addons/actions/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-actions", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Get UI feedback when an action is performed on an interactive element", "keywords": [ "storybook", @@ -80,14 +80,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", diff --git a/code/addons/backgrounds/package.json b/code/addons/backgrounds/package.json index 9fcdf60d9844..787d8ca41a85 100644 --- a/code/addons/backgrounds/package.json +++ b/code/addons/backgrounds/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-backgrounds", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Switch backgrounds to view components in different settings", "keywords": [ "addon", @@ -76,14 +76,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, diff --git a/code/addons/controls/package.json b/code/addons/controls/package.json index 92df13d451c2..d42cf9be7149 100644 --- a/code/addons/controls/package.json +++ b/code/addons/controls/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-controls", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Interact with component inputs dynamically in the Storybook UI", "keywords": [ "addon", @@ -68,15 +68,15 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/blocks": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/blocks": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, diff --git a/code/addons/docs/package.json b/code/addons/docs/package.json index af4dc281c698..42024d421d14 100644 --- a/code/addons/docs/package.json +++ b/code/addons/docs/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-docs", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Document component usage and properties in Markdown", "keywords": [ "addon", @@ -99,19 +99,19 @@ "dependencies": { "@jest/transform": "^29.3.1", "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/csf-plugin": "7.1.0-alpha.29", - "@storybook/csf-tools": "7.1.0-alpha.29", + "@storybook/blocks": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/csf-plugin": "7.1.0-alpha.30", + "@storybook/csf-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/postinstall": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/react-dom-shim": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/postinstall": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/react-dom-shim": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "fs-extra": "^11.1.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", diff --git a/code/addons/essentials/package.json b/code/addons/essentials/package.json index adef067201d6..2358702398b5 100644 --- a/code/addons/essentials/package.json +++ b/code/addons/essentials/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-essentials", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Curated addons to bring out the best of Storybook", "keywords": [ "addon", @@ -119,23 +119,23 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/addon-actions": "7.1.0-alpha.29", - "@storybook/addon-backgrounds": "7.1.0-alpha.29", - "@storybook/addon-controls": "7.1.0-alpha.29", - "@storybook/addon-docs": "7.1.0-alpha.29", - "@storybook/addon-highlight": "7.1.0-alpha.29", - "@storybook/addon-measure": "7.1.0-alpha.29", - "@storybook/addon-outline": "7.1.0-alpha.29", - "@storybook/addon-toolbars": "7.1.0-alpha.29", - "@storybook/addon-viewport": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", + "@storybook/addon-actions": "7.1.0-alpha.30", + "@storybook/addon-backgrounds": "7.1.0-alpha.30", + "@storybook/addon-controls": "7.1.0-alpha.30", + "@storybook/addon-docs": "7.1.0-alpha.30", + "@storybook/addon-highlight": "7.1.0-alpha.30", + "@storybook/addon-measure": "7.1.0-alpha.30", + "@storybook/addon-outline": "7.1.0-alpha.30", + "@storybook/addon-toolbars": "7.1.0-alpha.30", + "@storybook/addon-viewport": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", "ts-dedent": "^2.0.0" }, "devDependencies": { - "@storybook/vue": "7.1.0-alpha.29", + "@storybook/vue": "7.1.0-alpha.30", "typescript": "^4.9.3" }, "peerDependencies": { diff --git a/code/addons/gfm/package.json b/code/addons/gfm/package.json index 33fe7fe588f8..5e10d5727f37 100644 --- a/code/addons/gfm/package.json +++ b/code/addons/gfm/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-mdx-gfm", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "GitHub Flavored Markdown in Storybook", "keywords": [ "addon", @@ -51,7 +51,7 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/node-logger": "7.1.0-alpha.29", + "@storybook/node-logger": "7.1.0-alpha.30", "remark-gfm": "^3.0.1", "ts-dedent": "^2.0.0" }, diff --git a/code/addons/highlight/package.json b/code/addons/highlight/package.json index 0bf51537af0d..40df97a89892 100644 --- a/code/addons/highlight/package.json +++ b/code/addons/highlight/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-highlight", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Highlight DOM nodes within your stories", "keywords": [ "storybook-addons", @@ -61,9 +61,9 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/preview-api": "7.1.0-alpha.30" }, "devDependencies": { "@types/webpack-env": "^1.16.0", diff --git a/code/addons/interactions/package.json b/code/addons/interactions/package.json index 2aa2569ae02b..c10441ce95a3 100644 --- a/code/addons/interactions/package.json +++ b/code/addons/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-interactions", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Automate, test and debug user interactions", "keywords": [ "storybook-addons", @@ -72,17 +72,17 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", - "jest-mock": "^27.0.6", + "@storybook/instrumenter": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", + "jest-mock": "^29.5.0", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -114,9 +114,8 @@ "./src/index.ts", "./src/manager.tsx", "./src/preview.ts", - "./src/preset/checkActionsLoaded.ts" - ], - "platform": "node" + "./src/preset.ts" + ] }, "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae16", "storybook": { diff --git a/code/addons/interactions/preset.js b/code/addons/interactions/preset.js index 6f2756ea9960..e538669369e9 100644 --- a/code/addons/interactions/preset.js +++ b/code/addons/interactions/preset.js @@ -1,4 +1,4 @@ -const { checkActionsLoaded } = require('./dist/preset/checkActionsLoaded'); +const { checkActionsLoaded } = require('./dist/preset'); function previewAnnotations(entry = [], options) { checkActionsLoaded(options.configDir); diff --git a/code/addons/interactions/src/preset/checkActionsLoaded.ts b/code/addons/interactions/src/preset.ts similarity index 100% rename from code/addons/interactions/src/preset/checkActionsLoaded.ts rename to code/addons/interactions/src/preset.ts diff --git a/code/addons/jest/package.json b/code/addons/jest/package.json index ec87e0fc7beb..f6bfc9b378a0 100644 --- a/code/addons/jest/package.json +++ b/code/addons/jest/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-jest", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "React storybook addon that show component jest report", "keywords": [ "addon", @@ -70,16 +70,16 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", "react-resize-detector": "^7.1.2", "tiny-invariant": "^1.3.1", - "upath": "^1.2.0" + "upath": "^2.0.1" }, "devDependencies": { "typescript": "~4.9.3" diff --git a/code/addons/links/package.json b/code/addons/links/package.json index 7c835d62fe56..d7295826ea91 100644 --- a/code/addons/links/package.json +++ b/code/addons/links/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-links", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Link stories together to build demos and prototypes with your UI components", "keywords": [ "addon", @@ -80,14 +80,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/router": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/router": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "prop-types": "^15.7.2", "ts-dedent": "^2.0.0" }, diff --git a/code/addons/measure/package.json b/code/addons/measure/package.json index 2ea2655c982b..a7be2ecacab1 100644 --- a/code/addons/measure/package.json +++ b/code/addons/measure/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-measure", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Inspect layouts by visualizing the box model", "keywords": [ "storybook-addons", @@ -75,13 +75,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29" + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", + "tiny-invariant": "^1.3.1" }, "devDependencies": { "typescript": "~4.9.3" diff --git a/code/addons/measure/src/box-model/canvas.ts b/code/addons/measure/src/box-model/canvas.ts index 653e3f005ac1..61c2691e1598 100644 --- a/code/addons/measure/src/box-model/canvas.ts +++ b/code/addons/measure/src/box-model/canvas.ts @@ -1,5 +1,6 @@ /* eslint-disable no-param-reassign */ import { global } from '@storybook/global'; +import invariant from 'tiny-invariant'; interface Size { width: number; @@ -25,6 +26,7 @@ function createCanvas(): CanvasState { const canvas = global.document.createElement('canvas'); canvas.id = 'storybook-addon-measure'; const context = canvas.getContext('2d'); + invariant(context != null); // Set canvas width & height const { width, height } = getDocumentWidthAndHeight(); setCanvasWidthAndHeight(canvas, context, { width, height }); @@ -67,16 +69,18 @@ export function init() { export function clear() { if (state.context) { - state.context.clearRect(0, 0, state.width, state.height); + state.context.clearRect(0, 0, state.width ?? 0, state.height ?? 0); } } -export function draw(callback: (context: CanvasRenderingContext2D) => void) { +export function draw(callback: (context?: CanvasRenderingContext2D) => void) { clear(); callback(state.context); } export function rescale() { + invariant(state.canvas, 'Canvas should exist in the state.'); + invariant(state.context, 'Context should exist in the state.'); // First reset so that the canvas size doesn't impact the container size setCanvasWidthAndHeight(state.canvas, state.context, { width: 0, height: 0 }); @@ -91,7 +95,7 @@ export function rescale() { export function destroy() { if (state.canvas) { clear(); - state.canvas.parentNode.removeChild(state.canvas); + state.canvas.parentNode?.removeChild(state.canvas); state = {}; } } diff --git a/code/addons/measure/src/box-model/labels.ts b/code/addons/measure/src/box-model/labels.ts index 80bbf440c92e..022dfdd786c2 100644 --- a/code/addons/measure/src/box-model/labels.ts +++ b/code/addons/measure/src/box-model/labels.ts @@ -285,7 +285,7 @@ export function labelStacks( acc[l.position] = []; } - acc[l.position].push(l); + acc[l.position]?.push(l); return acc; }, {}); diff --git a/code/addons/measure/src/box-model/visualizer.ts b/code/addons/measure/src/box-model/visualizer.ts index eba2de27573b..22b4523aebb2 100644 --- a/code/addons/measure/src/box-model/visualizer.ts +++ b/code/addons/measure/src/box-model/visualizer.ts @@ -282,7 +282,7 @@ function drawContent( } function drawBoxModel(element: HTMLElement) { - return (context: CanvasRenderingContext2D) => { + return (context?: CanvasRenderingContext2D) => { if (element && context) { const measurements = measureElement(element); diff --git a/code/addons/measure/tsconfig.json b/code/addons/measure/tsconfig.json index 4c6f20a1be4d..b5a2f9a70918 100644 --- a/code/addons/measure/tsconfig.json +++ b/code/addons/measure/tsconfig.json @@ -2,6 +2,6 @@ "extends": "../../tsconfig.json", "include": ["src/**/*"], "compilerOptions": { - "strict": false + "strict": true } } diff --git a/code/addons/outline/package.json b/code/addons/outline/package.json index f705d0e252ee..f89c0245575f 100644 --- a/code/addons/outline/package.json +++ b/code/addons/outline/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-outline", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Outline all elements with CSS to help with layout placement and alignment", "keywords": [ "storybook-addons", @@ -78,13 +78,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0" }, "devDependencies": { diff --git a/code/addons/storyshots-core/package.json b/code/addons/storyshots-core/package.json index fa72db41417d..b2749205a123 100644 --- a/code/addons/storyshots-core/package.json +++ b/code/addons/storyshots-core/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-storyshots", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Take a code snapshot of every story automatically with Jest", "keywords": [ "addon", @@ -38,15 +38,15 @@ "dependencies": { "@jest/transform": "^29.3.1", "@storybook/babel-plugin-require-context-hook": "1.0.1", - "@storybook/client-api": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/client-api": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-webpack": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/jest-specific-snapshot": "^0.5.6", "glob": "^10.0.0", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "preact-render-to-string": "^5.1.19", "pretty-format": "^29.0.0", "react-test-renderer": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -57,19 +57,18 @@ "@angular/core": "^13.3.6", "@angular/platform-browser-dynamic": "^13.3.6", "@emotion/jest": "^11.8.0", - "@storybook/addon-docs": "7.1.0-alpha.29", - "@storybook/angular": "7.1.0-alpha.29", - "@storybook/react": "7.1.0-alpha.29", - "@storybook/vue": "7.1.0-alpha.29", - "@storybook/vue3": "7.1.0-alpha.29", + "@storybook/addon-docs": "7.1.0-alpha.30", + "@storybook/angular": "7.1.0-alpha.30", + "@storybook/react": "7.1.0-alpha.30", + "@storybook/vue": "7.1.0-alpha.30", + "@storybook/vue3": "7.1.0-alpha.30", "babel-loader": "^9.1.2", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.5", "enzyme-to-json": "^3.6.1", - "jest-preset-angular": "^12.2.3", + "jest-preset-angular": "^13.0.1", "jest-vue-preprocessor": "^1.7.1", "react-test-renderer": "^16", - "rimraf": "^3.0.2", "rxjs": "^6.6.3", "vue-jest": "^5.0.0-alpha.8" }, diff --git a/code/addons/storyshots-puppeteer/package.json b/code/addons/storyshots-puppeteer/package.json index 9b714b7d1889..dc4b67906a91 100644 --- a/code/addons/storyshots-puppeteer/package.json +++ b/code/addons/storyshots-puppeteer/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-storyshots-puppeteer", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Image snapshots addition to StoryShots based on puppeteer", "keywords": [ "addon", @@ -37,20 +37,19 @@ "dependencies": { "@axe-core/puppeteer": "^4.2.0", "@storybook/csf": "^0.1.0", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", - "@types/jest-image-snapshot": "^5.1.0", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", + "@types/jest-image-snapshot": "^6.0.0", "jest-image-snapshot": "^6.0.0" }, "devDependencies": { "@types/puppeteer": "^5.4.0", "enzyme": "^3.11.0", "enzyme-to-json": "^3.6.1", - "puppeteer": "^2.0.0 || ^3.0.0", - "rimraf": "^3.0.2" + "puppeteer": "^2.0.0 || ^3.0.0" }, "peerDependencies": { - "@storybook/addon-storyshots": "7.1.0-alpha.29", + "@storybook/addon-storyshots": "7.1.0-alpha.30", "puppeteer": ">=2.0.0" }, "peerDependenciesMeta": { diff --git a/code/addons/storysource/package.json b/code/addons/storysource/package.json index aba651b380bc..a7aa057ad11b 100644 --- a/code/addons/storysource/package.json +++ b/code/addons/storysource/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-storysource", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "View a story’s source code to see how it works and paste into your app", "keywords": [ "addon", @@ -53,13 +53,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/router": "7.1.0-alpha.29", - "@storybook/source-loader": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/router": "7.1.0-alpha.30", + "@storybook/source-loader": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", "estraverse": "^5.2.0", "prop-types": "^15.7.2", "react-syntax-highlighter": "^15.5.0", diff --git a/code/addons/toolbars/package.json b/code/addons/toolbars/package.json index 8898313567d1..84fc12a9e318 100644 --- a/code/addons/toolbars/package.json +++ b/code/addons/toolbars/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-toolbars", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Create your own toolbar items that control story rendering", "keywords": [ "addon", @@ -68,11 +68,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30" }, "devDependencies": { "typescript": "~4.9.3" diff --git a/code/addons/viewport/package.json b/code/addons/viewport/package.json index b010520949b8..c30f1921ebfe 100644 --- a/code/addons/viewport/package.json +++ b/code/addons/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-viewport", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Build responsive components by adjusting Storybook’s viewport size and orientation", "keywords": [ "addon", @@ -73,13 +73,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", "memoizerific": "^1.11.3", "prop-types": "^15.7.2" }, diff --git a/code/builders/builder-manager/package.json b/code/builders/builder-manager/package.json index 7106db7b92aa..1d21a507323d 100644 --- a/code/builders/builder-manager/package.json +++ b/code/builders/builder-manager/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-manager", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook manager builder", "keywords": [ "storybook" @@ -44,9 +44,9 @@ }, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/manager": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/manager": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", diff --git a/code/builders/builder-manager/src/utils/managerEntries.ts b/code/builders/builder-manager/src/utils/managerEntries.ts index c6ac46a0a242..51413bfb852e 100644 --- a/code/builders/builder-manager/src/utils/managerEntries.ts +++ b/code/builders/builder-manager/src/utils/managerEntries.ts @@ -4,7 +4,12 @@ import { join, parse, relative, sep } from 'node:path'; import slash from 'slash'; const sanitizeBase = (path: string) => { - return path.replaceAll('.', '').replaceAll('@', '').replaceAll(sep, '-').replaceAll('/', '-'); + return path + .replaceAll('.', '') + .replaceAll('@', '') + .replaceAll(sep, '-') + .replaceAll('/', '-') + .replaceAll(new RegExp(/^(-)+/g), ''); }; const sanitizeFinal = (path: string) => { diff --git a/code/builders/builder-vite/package.json b/code/builders/builder-vite/package.json index 7dbb2c822706..8842c18b7b18 100644 --- a/code/builders/builder-vite/package.json +++ b/code/builders/builder-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "A plugin to run and build Storybooks with Vite", "homepage": "https://github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme", "bugs": { @@ -42,21 +42,21 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channel-websocket": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/csf-plugin": "7.1.0-alpha.29", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channel-websocket": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/csf-plugin": "7.1.0-alpha.30", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", "express": "^4.17.3", "fs-extra": "^11.1.0", - "magic-string": "^0.27.0", + "magic-string": "^0.30.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", "rollup": "^2.25.0 || ^3.3.0" diff --git a/code/builders/builder-vite/src/plugins/csf-plugin.ts b/code/builders/builder-vite/src/plugins/csf-plugin.ts index 03cf54563bc6..9f472f6552f8 100644 --- a/code/builders/builder-vite/src/plugins/csf-plugin.ts +++ b/code/builders/builder-vite/src/plugins/csf-plugin.ts @@ -10,5 +10,6 @@ export async function csfPlugin(config: Options): Promise { // @ts-expect-error - not sure what type to use here addons.find((a) => [a, a.name].includes('@storybook/addon-docs'))?.options ?? {}; - return vite(docsOptions?.csfPluginOptions); + // TODO: looks like unplugin can return an array of plugins + return vite(docsOptions?.csfPluginOptions) as Plugin; } diff --git a/code/builders/builder-webpack5/package.json b/code/builders/builder-webpack5/package.json index 120c825108ed..0bba83028d01 100644 --- a/code/builders/builder-webpack5/package.json +++ b/code/builders/builder-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -56,25 +56,25 @@ }, "dependencies": { "@babel/core": "^7.22.0", - "@storybook/addons": "7.1.0-alpha.29", - "@storybook/api": "7.1.0-alpha.29", - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channel-websocket": "7.1.0-alpha.29", - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-api": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/addons": "7.1.0-alpha.30", + "@storybook/api": "7.1.0-alpha.30", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channel-websocket": "7.1.0-alpha.30", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-api": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", + "@storybook/core-webpack": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/router": "7.1.0-alpha.29", - "@storybook/store": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/router": "7.1.0-alpha.30", + "@storybook/store": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", "@swc/core": "^1.3.49", "@types/node": "^16.0.0", "@types/semver": "^7.3.4", @@ -82,9 +82,10 @@ "babel-plugin-named-exports-order": "^0.0.2", "browser-assert": "^1.2.1", "case-sensitive-paths-webpack-plugin": "^2.4.0", + "constants-browserify": "^1.0.0", "css-loader": "^6.7.1", "express": "^4.17.3", - "fork-ts-checker-webpack-plugin": "^7.2.8", + "fork-ts-checker-webpack-plugin": "^8.0.0", "fs-extra": "^11.1.0", "html-webpack-plugin": "^5.5.0", "path-browserify": "^1.0.1", @@ -94,17 +95,17 @@ "swc-loader": "^0.2.3", "terser-webpack-plugin": "^5.3.1", "ts-dedent": "^2.0.0", + "url": "^0.11.0", "util": "^0.12.4", "util-deprecate": "^1.0.2", "webpack": "5", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^6.1.1", "webpack-hot-middleware": "^2.25.1", - "webpack-virtual-modules": "^0.4.3" + "webpack-virtual-modules": "^0.5.0" }, "devDependencies": { "@types/pretty-hrtime": "^1.0.0", "@types/terser-webpack-plugin": "^5.2.0", - "@types/webpack-dev-middleware": "^5.3.0", "@types/webpack-hot-middleware": "^2.25.6", "@types/webpack-virtual-modules": "^0.1.1", "pretty-hrtime": "^1.0.3", diff --git a/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts b/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts index cfb599b0c316..44eff2e63bc9 100644 --- a/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts +++ b/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts @@ -308,9 +308,13 @@ export default async ( mainFields: ['browser', 'module', 'main'].filter(Boolean), alias: storybookPaths, fallback: { + stream: false, path: require.resolve('path-browserify'), assert: require.resolve('browser-assert'), util: require.resolve('util'), + url: require.resolve('url'), + fs: false, + constants: require.resolve('constants-browserify'), }, // Set webpack to resolve symlinks based on whether the user has asked node to. // This feels like it should be default out-of-the-box in webpack :shrug: diff --git a/code/deprecated/addons/package.json b/code/deprecated/addons/package.json index 02f42280faff..3900c85c1ab2 100644 --- a/code/deprecated/addons/package.json +++ b/code/deprecated/addons/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addons", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook addons store", "keywords": [ "storybook" @@ -44,9 +44,9 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29" + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", diff --git a/code/deprecated/client-api/package.json b/code/deprecated/client-api/package.json index dd206b436c0f..247ac9d5ed8b 100644 --- a/code/deprecated/client-api/package.json +++ b/code/deprecated/client-api/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/client-api", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Client API", "keywords": [ "storybook" @@ -42,8 +42,8 @@ "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/deprecated/core-client/package.json b/code/deprecated/core-client/package.json index cb00f9eae531..c42855c5f222 100644 --- a/code/deprecated/core-client/package.json +++ b/code/deprecated/core-client/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-client", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -35,8 +35,8 @@ "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/deprecated/manager-api-shim/package.json b/code/deprecated/manager-api-shim/package.json index aee46c8b7507..5ee2464d324b 100644 --- a/code/deprecated/manager-api-shim/package.json +++ b/code/deprecated/manager-api-shim/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/api", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Manager API (facade)", "keywords": [ "storybook" @@ -42,8 +42,8 @@ "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/manager-api": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/manager-api": "7.1.0-alpha.30" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", diff --git a/code/deprecated/preview-web/package.json b/code/deprecated/preview-web/package.json index c83f9dc787d1..fb07265cc96a 100644 --- a/code/deprecated/preview-web/package.json +++ b/code/deprecated/preview-web/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preview-web", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -42,8 +42,8 @@ "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/deprecated/store/package.json b/code/deprecated/store/package.json index dd9e89531c94..2ec80033cdda 100644 --- a/code/deprecated/store/package.json +++ b/code/deprecated/store/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/store", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -42,8 +42,8 @@ "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/e2e-tests/addon-docs.spec.ts b/code/e2e-tests/addon-docs.spec.ts index ba04d5c99632..0f318f9f657d 100644 --- a/code/e2e-tests/addon-docs.spec.ts +++ b/code/e2e-tests/addon-docs.spec.ts @@ -85,7 +85,7 @@ test.describe('addon-docs', () => { test('should provide source snippet', async ({ page }) => { // templateName is e.g. 'Vue-CLI (Default JS)' test.skip( - /^(vue-cli|preact)/i.test(`${templateName}`), + /^(vue3|vue-cli|preact)/i.test(`${templateName}`), `Skipping ${templateName}, which does not support dynamic source snippets` ); @@ -111,6 +111,7 @@ test.describe('addon-docs', () => { test('source snippet should not change in stories block', async ({ page }) => { const skipped = [ + 'vue3', 'vue-cli', 'preact', // SSv6 does not render stories in the correct order in our sandboxes @@ -156,42 +157,6 @@ test.describe('addon-docs', () => { await expect(storiesCode).toContainText('Basic'); }); - test('source snippet should change back to previous value in stories block', async ({ page }) => { - test.skip( - /^(lit|vue-cli|preact|angular|internal\/ssv6|ca)/i.test(`${templateName}`), - `Skipping ${templateName}, which does not support dynamic source snippets` - ); - - const sbPage = new SbPage(page); - await sbPage.navigateToStory('addons/docs/docspage/basic', 'docs'); - const root = sbPage.previewRoot(); - const toggles = root.locator('.docblock-code-toggle'); - - const toggle = await toggles.nth(0); - await toggle.click({ force: true }); - - const codes = root.locator('pre.prismjs'); - - const code = await codes.nth(0); - const text = await code.innerText(); - - await expect(text).toContain('Basic'); - - const labelControl = root.locator('textarea[name=label]'); - labelControl.fill('Changed'); - labelControl.blur(); - - // Check the Primary one has changed - await expect(code).toContainText('Changed'); - - // Change the value back - labelControl.fill('Basic'); - labelControl.blur(); - - // Check the Primary one has changed back - await expect(code).toContainText('Basic'); - }); - test('should not run autoplay stories without parameter', async ({ page }) => { const sbPage = new SbPage(page); await sbPage.navigateToStory('addons/docs/docspage/autoplay', 'docs'); diff --git a/code/frameworks/angular/package.json b/code/frameworks/angular/package.json index 874d940a331e..cf5ecfdf903c 100644 --- a/code/frameworks/angular/package.json +++ b/code/frameworks/angular/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/angular", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.", "keywords": [ "storybook", @@ -36,20 +36,20 @@ "prep": "../../../scripts/prepare/tsc.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/cli": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/core-webpack": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/cli": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/core-webpack": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/telemetry": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/telemetry": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/node": "^16.0.0", "@types/react": "^16.14.34", "@types/react-dom": "^16.9.14", @@ -60,7 +60,7 @@ "semver": "^7.3.7", "telejson": "^7.0.3", "ts-dedent": "^2.0.0", - "tsconfig-paths-webpack-plugin": "^3.5.2", + "tsconfig-paths-webpack-plugin": "^4.0.1", "util-deprecate": "^1.0.2", "webpack": "5" }, @@ -77,13 +77,12 @@ "@angular/forms": "^16.0.0-rc.4", "@angular/platform-browser": "^16.0.0-rc.4", "@angular/platform-browser-dynamic": "^16.0.0-rc.4", - "@types/rimraf": "^3.0.2", + "@types/cross-spawn": "^6.0.2", "@types/tmp": "^0.2.3", "cross-spawn": "^7.0.3", "jest": "^29.3.1", "jest-preset-angular": "^13.0.1", "jest-specific-snapshot": "^8.0.0", - "rimraf": "^3.0.2", "tmp": "^0.2.1", "typescript": "^5.0.4", "webpack": "5", diff --git a/code/frameworks/angular/src/builders/start-storybook/index.ts b/code/frameworks/angular/src/builders/start-storybook/index.ts index da43aa8c95a4..3b44e0dea51f 100644 --- a/code/frameworks/angular/src/builders/start-storybook/index.ts +++ b/code/frameworks/angular/src/builders/start-storybook/index.ts @@ -30,7 +30,6 @@ addToGlobalContext('cliVersion', versions.storybook); export type StorybookBuilderOptions = JsonObject & { browserTarget?: string | null; tsConfig?: string; - docs: boolean; compodoc: boolean; compodocArgs: string[]; styles?: StyleElement[]; @@ -50,6 +49,8 @@ export type StorybookBuilderOptions = JsonObject & { | 'ci' | 'quiet' | 'disableTelemetry' + | 'open' + | 'docs' >; export type StorybookBuilderOutput = JsonObject & BuilderOutput & {}; @@ -58,9 +59,13 @@ const commandBuilder: BuilderHandlerFn = (options, cont const builder = from(setup(options, context)).pipe( switchMap(({ tsConfig }) => { const runCompodoc$ = options.compodoc - ? runCompodoc({ compodocArgs: options.compodocArgs, tsconfig: tsConfig }, context).pipe( - mapTo({ tsConfig }) - ) + ? runCompodoc( + { + compodocArgs: [...options.compodocArgs, ...(options.quiet ? ['--silent'] : [])], + tsconfig: tsConfig, + }, + context + ).pipe(mapTo({ tsConfig })) : of({}); return runCompodoc$.pipe(mapTo({ tsConfig })); @@ -93,6 +98,7 @@ const commandBuilder: BuilderHandlerFn = (options, cont sslKey, disableTelemetry, assets, + open, } = options; const standaloneOptions: StandaloneOptions = { @@ -117,6 +123,7 @@ const commandBuilder: BuilderHandlerFn = (options, cont ...(assets ? { assets } : {}), }, tsConfig, + open, }; return standaloneOptions; diff --git a/code/frameworks/angular/src/builders/start-storybook/schema.json b/code/frameworks/angular/src/builders/start-storybook/schema.json index db89e94d5b4f..764143407b2d 100644 --- a/code/frameworks/angular/src/builders/start-storybook/schema.json +++ b/code/frameworks/angular/src/builders/start-storybook/schema.json @@ -56,6 +56,11 @@ "description": "CI mode (skip interactive prompts, don't open browser).", "default": false }, + "open": { + "type": "boolean", + "description": "Whether to open Storybook automatically in the browser.", + "default": true + }, "quiet": { "type": "boolean", "description": "Suppress verbose build output.", diff --git a/code/frameworks/ember/package.json b/code/frameworks/ember/package.json index 7cc9c02ec14a..71234c03921e 100644 --- a/code/frameworks/ember/package.json +++ b/code/frameworks/ember/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/ember", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Ember: Develop Ember Component in isolation with Hot Reloading.", "homepage": "https://github.com/storybookjs/storybook/tree/next/code/frameworks/ember", "bugs": { @@ -31,12 +31,12 @@ "prep": "../../../scripts/prepare/tsc.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0" }, "devDependencies": { diff --git a/code/frameworks/html-vite/package.json b/code/frameworks/html-vite/package.json index 551ef37c426f..ccfcb3dd8376 100644 --- a/code/frameworks/html-vite/package.json +++ b/code/frameworks/html-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/html-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for HTML and Vite: Develop HTML in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,16 +47,16 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/addons": "7.1.0-alpha.29", - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channel-websocket": "7.1.0-alpha.29", - "@storybook/client-api": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/html": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview-web": "7.1.0-alpha.29", - "magic-string": "^0.27.0" + "@storybook/addons": "7.1.0-alpha.30", + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channel-websocket": "7.1.0-alpha.30", + "@storybook/client-api": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/html": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview-web": "7.1.0-alpha.30", + "magic-string": "^0.30.0" }, "devDependencies": { "@types/node": "^16.0.0", diff --git a/code/frameworks/html-webpack5/package.json b/code/frameworks/html-webpack5/package.json index f2fd0357db1c..d10c4ae21d64 100644 --- a/code/frameworks/html-webpack5/package.json +++ b/code/frameworks/html-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/html-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,11 +47,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/html": "7.1.0-alpha.29", - "@storybook/preset-html-webpack": "7.1.0-alpha.29", + "@storybook/html": "7.1.0-alpha.30", + "@storybook/preset-html-webpack": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/frameworks/nextjs/package.json b/code/frameworks/nextjs/package.json index d56d82387f17..50a8bbdee825 100644 --- a/code/frameworks/nextjs/package.json +++ b/code/frameworks/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/nextjs", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Next.js", "keywords": [ "storybook", @@ -70,13 +70,13 @@ "@babel/preset-react": "^7.22.0", "@babel/preset-typescript": "^7.21.0", "@babel/runtime": "^7.22.0", - "@storybook/addon-actions": "7.1.0-alpha.29", - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preset-react-webpack": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/react": "7.1.0-alpha.29", + "@storybook/addon-actions": "7.1.0-alpha.30", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preset-react-webpack": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/react": "7.1.0-alpha.30", "@types/node": "^16.0.0", "css-loader": "^6.7.3", "find-up": "^5.0.0", @@ -94,7 +94,7 @@ "styled-jsx": "5.1.1", "ts-dedent": "^2.0.0", "tsconfig-paths": "^4.0.0", - "tsconfig-paths-webpack-plugin": "^3.5.2" + "tsconfig-paths-webpack-plugin": "^4.0.1" }, "devDependencies": { "@babel/core": "^7.22.0", diff --git a/code/frameworks/preact-vite/package.json b/code/frameworks/preact-vite/package.json index 13f5b1be37d9..8d5cee8ad401 100644 --- a/code/frameworks/preact-vite/package.json +++ b/code/frameworks/preact-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preact-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Preact and Vite: Develop Preact components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,8 +47,8 @@ }, "dependencies": { "@preact/preset-vite": "^2.0.0", - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/preact": "7.1.0-alpha.29" + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/preact": "7.1.0-alpha.30" }, "devDependencies": { "@types/node": "^16.0.0", diff --git a/code/frameworks/preact-webpack5/package.json b/code/frameworks/preact-webpack5/package.json index 126be3bf1d3c..70f135558f63 100644 --- a/code/frameworks/preact-webpack5/package.json +++ b/code/frameworks/preact-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preact-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Preact: Develop Preact Component in isolation.", "keywords": [ "storybook" @@ -47,10 +47,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preact": "7.1.0-alpha.29", - "@storybook/preset-preact-webpack": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preact": "7.1.0-alpha.30", + "@storybook/preset-preact-webpack": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/frameworks/react-vite/package.json b/code/frameworks/react-vite/package.json index 0987bdc81dba..6f3b3ff38a8e 100644 --- a/code/frameworks/react-vite/package.json +++ b/code/frameworks/react-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for React and Vite: Develop React components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -48,12 +48,12 @@ }, "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", - "@rollup/pluginutils": "^4.2.0", - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/react": "7.1.0-alpha.29", + "@rollup/pluginutils": "^5.0.2", + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/react": "7.1.0-alpha.30", "@vitejs/plugin-react": "^3.0.1", "ast-types": "^0.14.2", - "magic-string": "^0.27.0", + "magic-string": "^0.30.0", "react-docgen": "6.0.0-alpha.3" }, "devDependencies": { diff --git a/code/frameworks/react-webpack5/package.json b/code/frameworks/react-webpack5/package.json index ea4e3a8e4cc4..8d7ea94108e8 100644 --- a/code/frameworks/react-webpack5/package.json +++ b/code/frameworks/react-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for React: Develop React Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,13 +47,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/preset-react-webpack": "7.1.0-alpha.29", - "@storybook/react": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/preset-react-webpack": "7.1.0-alpha.30", + "@storybook/react": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "typescript": "~4.9.3" }, "peerDependencies": { diff --git a/code/frameworks/server-webpack5/package.json b/code/frameworks/server-webpack5/package.json index 71af0fc67c1c..81ccf9ecbab2 100644 --- a/code/frameworks/server-webpack5/package.json +++ b/code/frameworks/server-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/server-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,10 +47,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preset-server-webpack": "7.1.0-alpha.29", - "@storybook/server": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preset-server-webpack": "7.1.0-alpha.30", + "@storybook/server": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/frameworks/svelte-vite/package.json b/code/frameworks/svelte-vite/package.json index 14f48cb6b195..de6187c5a4db 100644 --- a/code/frameworks/svelte-vite/package.json +++ b/code/frameworks/svelte-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/svelte-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Svelte and Vite: Develop Svelte components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,11 +47,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/svelte": "7.1.0-alpha.29", + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/svelte": "7.1.0-alpha.30", "@sveltejs/vite-plugin-svelte": "^2.0.0", - "magic-string": "^0.27.0", + "magic-string": "^0.30.0", "svelte": "^3.0.0", "sveltedoc-parser": "^4.2.1", "ts-dedent": "^2.2.0" diff --git a/code/frameworks/svelte-webpack5/package.json b/code/frameworks/svelte-webpack5/package.json index 08501533e76b..69e39f881a54 100644 --- a/code/frameworks/svelte-webpack5/package.json +++ b/code/frameworks/svelte-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/svelte-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,10 +47,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preset-svelte-webpack": "7.1.0-alpha.29", - "@storybook/svelte": "7.1.0-alpha.29" + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preset-svelte-webpack": "7.1.0-alpha.30", + "@storybook/svelte": "7.1.0-alpha.30" }, "devDependencies": { "svelte": "^3.48.0", diff --git a/code/frameworks/sveltekit/package.json b/code/frameworks/sveltekit/package.json index a543c716298c..17833efb9ccd 100644 --- a/code/frameworks/sveltekit/package.json +++ b/code/frameworks/sveltekit/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/sveltekit", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for SvelteKit", "keywords": [ "storybook", @@ -50,9 +50,9 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/svelte": "7.1.0-alpha.29", - "@storybook/svelte-vite": "7.1.0-alpha.29" + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/svelte": "7.1.0-alpha.30", + "@storybook/svelte-vite": "7.1.0-alpha.30" }, "devDependencies": { "@types/node": "^16.0.0", diff --git a/code/frameworks/vue-vite/package.json b/code/frameworks/vue-vite/package.json index da8446feec1d..191384096718 100644 --- a/code/frameworks/vue-vite/package.json +++ b/code/frameworks/vue-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue2 and Vite: Develop Vue2 Components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,11 +47,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/vue": "7.1.0-alpha.29", - "magic-string": "^0.27.0", + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/vue": "7.1.0-alpha.30", + "magic-string": "^0.30.0", "vue-docgen-api": "^4.40.0" }, "devDependencies": { diff --git a/code/frameworks/vue-webpack5/package.json b/code/frameworks/vue-webpack5/package.json index cb6cedd22929..7540c3f1ed77 100644 --- a/code/frameworks/vue-webpack5/package.json +++ b/code/frameworks/vue-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,10 +47,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preset-vue-webpack": "7.1.0-alpha.29", - "@storybook/vue": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preset-vue-webpack": "7.1.0-alpha.30", + "@storybook/vue": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/frameworks/vue3-vite/package.json b/code/frameworks/vue3-vite/package.json index 286073f519c5..5358ba65c76f 100644 --- a/code/frameworks/vue3-vite/package.json +++ b/code/frameworks/vue3-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue3-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue3 and Vite: Develop Vue3 components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,11 +47,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/vue3": "7.1.0-alpha.29", + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/vue3": "7.1.0-alpha.30", "@vitejs/plugin-vue": "^4.0.0", - "magic-string": "^0.27.0", + "magic-string": "^0.30.0", "vue-docgen-api": "^4.40.0" }, "devDependencies": { diff --git a/code/frameworks/vue3-webpack5/package.json b/code/frameworks/vue3-webpack5/package.json index 52d3705fafc9..142533b4f6fd 100644 --- a/code/frameworks/vue3-webpack5/package.json +++ b/code/frameworks/vue3-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue3-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,10 +47,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preset-vue3-webpack": "7.1.0-alpha.29", - "@storybook/vue3": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preset-vue3-webpack": "7.1.0-alpha.30", + "@storybook/vue3": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/frameworks/web-components-vite/package.json b/code/frameworks/web-components-vite/package.json index 23f6027e294c..030b5617d469 100644 --- a/code/frameworks/web-components-vite/package.json +++ b/code/frameworks/web-components-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/web-components-vite", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for web-components and Vite: Develop Web Components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -47,11 +47,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/builder-vite": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/web-components": "7.1.0-alpha.29", - "magic-string": "^0.27.0" + "@storybook/builder-vite": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/web-components": "7.1.0-alpha.30", + "magic-string": "^0.30.0" }, "devDependencies": { "@types/node": "^16.0.0", diff --git a/code/frameworks/web-components-webpack5/package.json b/code/frameworks/web-components-webpack5/package.json index 809bc227faf4..7cf200157dd4 100644 --- a/code/frameworks/web-components-webpack5/package.json +++ b/code/frameworks/web-components-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/web-components-webpack5", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for web-components: View web components snippets in isolation with Hot Reloading.", "keywords": [ "lit", @@ -51,10 +51,10 @@ }, "dependencies": { "@babel/preset-env": "^7.22.0", - "@storybook/builder-webpack5": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preset-web-components-webpack": "7.1.0-alpha.29", - "@storybook/web-components": "7.1.0-alpha.29", + "@storybook/builder-webpack5": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preset-web-components-webpack": "7.1.0-alpha.30", + "@storybook/web-components": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/jest.config.base.js b/code/jest.config.base.js index a11bd93617bf..77a03b8b082b 100644 --- a/code/jest.config.base.js +++ b/code/jest.config.base.js @@ -28,21 +28,25 @@ const modulesToTransform = [ 'decode-named-character-reference', 'estree', 'is-absolute-url', - 'lit', 'lit-html', + 'lit', 'mdast', 'micromark', 'nanoid', + 'node-fetch', 'remark', 'rxjs', + 'data-uri-to-buffer', + 'fetch-blob', + 'formdata-polyfill', 'slash', 'space-separated-tokens', 'stringify-entities', 'unified', 'unist', 'uuid', - 'vfile', 'vfile-message', + 'vfile', 'zwitch', ]; diff --git a/code/lib/channel-postmessage/package.json b/code/lib/channel-postmessage/package.json index 6d86a27c9726..c67806ac425c 100644 --- a/code/lib/channel-postmessage/package.json +++ b/code/lib/channel-postmessage/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channel-postmessage", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -43,9 +43,9 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", diff --git a/code/lib/channel-websocket/package.json b/code/lib/channel-websocket/package.json index c3432c828e45..74fdbb6fcc75 100644 --- a/code/lib/channel-websocket/package.json +++ b/code/lib/channel-websocket/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channel-websocket", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -43,8 +43,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", "telejson": "^7.0.3", "tiny-invariant": "^1.3.1" diff --git a/code/lib/channels/package.json b/code/lib/channels/package.json index 8543d306aa2c..bd2f77f76dce 100644 --- a/code/lib/channels/package.json +++ b/code/lib/channels/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channels", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" diff --git a/code/lib/cli-sb/package.json b/code/lib/cli-sb/package.json index 3de9c3a58933..4de5b08ef4e6 100644 --- a/code/lib/cli-sb/package.json +++ b/code/lib/cli-sb/package.json @@ -1,6 +1,6 @@ { "name": "sb", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook CLI", "keywords": [ "storybook" @@ -21,7 +21,7 @@ "license": "MIT", "bin": "./index.js", "dependencies": { - "@storybook/cli": "7.1.0-alpha.29" + "@storybook/cli": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/lib/cli-storybook/package.json b/code/lib/cli-storybook/package.json index 32655f57a3f3..ef844f8c1b38 100644 --- a/code/lib/cli-storybook/package.json +++ b/code/lib/cli-storybook/package.json @@ -1,6 +1,6 @@ { "name": "storybook", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook CLI", "keywords": [ "storybook" @@ -24,7 +24,7 @@ "storybook": "./index.js" }, "dependencies": { - "@storybook/cli": "7.1.0-alpha.29" + "@storybook/cli": "7.1.0-alpha.30" }, "publishConfig": { "access": "public" diff --git a/code/lib/cli/package.json b/code/lib/cli/package.json index 93406ced99ad..719a46d1337c 100644 --- a/code/lib/cli/package.json +++ b/code/lib/cli/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/cli", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook's CLI - easiest method of adding storybook to your projects", "keywords": [ "cli", @@ -57,13 +57,13 @@ "@babel/core": "^7.22.0", "@babel/preset-env": "^7.22.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/csf-tools": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/telemetry": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/codemod": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/csf-tools": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/telemetry": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/semver": "^7.3.4", "boxen": "^5.1.2", "chalk": "^4.1.0", @@ -87,7 +87,6 @@ "puppeteer-core": "^2.1.1", "read-pkg-up": "^7.0.1", "semver": "^7.3.7", - "shelljs": "^0.8.5", "simple-update-notifier": "^1.0.0", "strip-json-comments": "^3.0.1", "tempy": "^1.0.1", @@ -95,12 +94,11 @@ "util-deprecate": "^1.0.2" }, "devDependencies": { - "@storybook/client-api": "7.1.0-alpha.29", + "@storybook/client-api": "7.1.0-alpha.30", "@types/cross-spawn": "^6.0.2", "@types/prompts": "^2.0.9", "@types/puppeteer-core": "^2.1.0", "@types/semver": "^7.3.4", - "@types/shelljs": "^0.8.7", "@types/util-deprecate": "^1.0.0", "slash": "^5.0.0", "strip-json-comments": "^3.1.1", diff --git a/code/lib/cli/src/link.ts b/code/lib/cli/src/link.ts index cb9d32e99b64..090f0434fb2a 100644 --- a/code/lib/cli/src/link.ts +++ b/code/lib/cli/src/link.ts @@ -1,10 +1,10 @@ import fse from 'fs-extra'; import path from 'path'; -import { sync as spawnSync } from 'cross-spawn'; +import { sync as spawnSync, spawn as spawnAsync } from 'cross-spawn'; import { logger } from '@storybook/node-logger'; -import shell from 'shelljs'; import chalk from 'chalk'; -import type { ExecOptions } from 'shelljs'; + +type ExecOptions = Parameters[2]; interface LinkOptions { target: string; @@ -31,14 +31,8 @@ export const exec = async ( logger.info(command); return new Promise((resolve, reject) => { - const defaultOptions: ExecOptions = { - silent: false, - }; - const child = shell.exec(command, { - ...defaultOptions, + const child = spawnAsync(command, { ...options, - async: true, - silent: false, }); child.stderr.pipe(process.stderr); diff --git a/code/lib/cli/src/repro-generators/scripts.ts b/code/lib/cli/src/repro-generators/scripts.ts index f47050163209..d5056b2540c9 100644 --- a/code/lib/cli/src/repro-generators/scripts.ts +++ b/code/lib/cli/src/repro-generators/scripts.ts @@ -1,9 +1,8 @@ import path from 'path'; -import { readJSON, writeJSON, outputFile } from 'fs-extra'; -import type { ExecOptions } from 'shelljs'; -import shell from 'shelljs'; +import { readJSON, writeJSON, outputFile, remove } from 'fs-extra'; import chalk from 'chalk'; import { command } from 'execa'; +import spawn from 'cross-spawn'; import { cra, cra_typescript } from './configs'; import storybookVersions from '../versions'; @@ -42,6 +41,8 @@ interface Configuration { registry?: string; } +type ExecOptions = globalThis.Parameters[2]; + export interface Options extends Parameters { appName: string; creationPath: string; @@ -69,14 +70,8 @@ export const exec = async ( logger.debug(command); return new Promise((resolve, reject) => { - const defaultOptions: ExecOptions = { - silent: false, - }; - const child = shell.exec(command, { - ...defaultOptions, + const child = spawn(command, { ...options, - async: true, - silent: false, }); child.stderr.pipe(process.stderr); @@ -221,7 +216,10 @@ const initStorybook = async ({ cwd, autoDetect = true, name, e2e, pnp }: Options const addRequiredDeps = async ({ cwd, additionalDeps }: Options) => { // Remove any lockfile generated without Yarn 2 - shell.rm('-f', path.join(cwd, 'package-lock.json'), path.join(cwd, 'yarn.lock')); + await Promise.all([ + remove(path.join(cwd, 'package-lock.json')), + remove(path.join(cwd, 'yarn.lock')), + ]); // eslint-disable-next-line @typescript-eslint/no-shadow const command = diff --git a/code/lib/cli/src/versions.ts b/code/lib/cli/src/versions.ts index df64b80e0943..359b053831d9 100644 --- a/code/lib/cli/src/versions.ts +++ b/code/lib/cli/src/versions.ts @@ -1,96 +1,96 @@ // auto generated file, do not edit export default { - '@storybook/addon-a11y': '7.1.0-alpha.29', - '@storybook/addon-actions': '7.1.0-alpha.29', - '@storybook/addon-backgrounds': '7.1.0-alpha.29', - '@storybook/addon-controls': '7.1.0-alpha.29', - '@storybook/addon-docs': '7.1.0-alpha.29', - '@storybook/addon-essentials': '7.1.0-alpha.29', - '@storybook/addon-highlight': '7.1.0-alpha.29', - '@storybook/addon-interactions': '7.1.0-alpha.29', - '@storybook/addon-jest': '7.1.0-alpha.29', - '@storybook/addon-links': '7.1.0-alpha.29', - '@storybook/addon-mdx-gfm': '7.1.0-alpha.29', - '@storybook/addon-measure': '7.1.0-alpha.29', - '@storybook/addon-outline': '7.1.0-alpha.29', - '@storybook/addon-storyshots': '7.1.0-alpha.29', - '@storybook/addon-storyshots-puppeteer': '7.1.0-alpha.29', - '@storybook/addon-storysource': '7.1.0-alpha.29', - '@storybook/addon-toolbars': '7.1.0-alpha.29', - '@storybook/addon-viewport': '7.1.0-alpha.29', - '@storybook/addons': '7.1.0-alpha.29', - '@storybook/angular': '7.1.0-alpha.29', - '@storybook/api': '7.1.0-alpha.29', - '@storybook/blocks': '7.1.0-alpha.29', - '@storybook/builder-manager': '7.1.0-alpha.29', - '@storybook/builder-vite': '7.1.0-alpha.29', - '@storybook/builder-webpack5': '7.1.0-alpha.29', - '@storybook/channel-postmessage': '7.1.0-alpha.29', - '@storybook/channel-websocket': '7.1.0-alpha.29', - '@storybook/channels': '7.1.0-alpha.29', - '@storybook/cli': '7.1.0-alpha.29', - '@storybook/client-api': '7.1.0-alpha.29', - '@storybook/client-logger': '7.1.0-alpha.29', - '@storybook/codemod': '7.1.0-alpha.29', - '@storybook/components': '7.1.0-alpha.29', - '@storybook/core-client': '7.1.0-alpha.29', - '@storybook/core-common': '7.1.0-alpha.29', - '@storybook/core-events': '7.1.0-alpha.29', - '@storybook/core-server': '7.1.0-alpha.29', - '@storybook/core-webpack': '7.1.0-alpha.29', - '@storybook/csf-plugin': '7.1.0-alpha.29', - '@storybook/csf-tools': '7.1.0-alpha.29', - '@storybook/docs-tools': '7.1.0-alpha.29', - '@storybook/ember': '7.1.0-alpha.29', - '@storybook/html': '7.1.0-alpha.29', - '@storybook/html-vite': '7.1.0-alpha.29', - '@storybook/html-webpack5': '7.1.0-alpha.29', - '@storybook/instrumenter': '7.1.0-alpha.29', - '@storybook/manager': '7.1.0-alpha.29', - '@storybook/manager-api': '7.1.0-alpha.29', - '@storybook/nextjs': '7.1.0-alpha.29', - '@storybook/node-logger': '7.1.0-alpha.29', - '@storybook/postinstall': '7.1.0-alpha.29', - '@storybook/preact': '7.1.0-alpha.29', - '@storybook/preact-vite': '7.1.0-alpha.29', - '@storybook/preact-webpack5': '7.1.0-alpha.29', - '@storybook/preset-create-react-app': '7.1.0-alpha.29', - '@storybook/preset-html-webpack': '7.1.0-alpha.29', - '@storybook/preset-preact-webpack': '7.1.0-alpha.29', - '@storybook/preset-react-webpack': '7.1.0-alpha.29', - '@storybook/preset-server-webpack': '7.1.0-alpha.29', - '@storybook/preset-svelte-webpack': '7.1.0-alpha.29', - '@storybook/preset-vue-webpack': '7.1.0-alpha.29', - '@storybook/preset-vue3-webpack': '7.1.0-alpha.29', - '@storybook/preset-web-components-webpack': '7.1.0-alpha.29', - '@storybook/preview': '7.1.0-alpha.29', - '@storybook/preview-api': '7.1.0-alpha.29', - '@storybook/preview-web': '7.1.0-alpha.29', - '@storybook/react': '7.1.0-alpha.29', - '@storybook/react-dom-shim': '7.1.0-alpha.29', - '@storybook/react-vite': '7.1.0-alpha.29', - '@storybook/react-webpack5': '7.1.0-alpha.29', - '@storybook/router': '7.1.0-alpha.29', - '@storybook/server': '7.1.0-alpha.29', - '@storybook/server-webpack5': '7.1.0-alpha.29', - '@storybook/source-loader': '7.1.0-alpha.29', - '@storybook/store': '7.1.0-alpha.29', - '@storybook/svelte': '7.1.0-alpha.29', - '@storybook/svelte-vite': '7.1.0-alpha.29', - '@storybook/svelte-webpack5': '7.1.0-alpha.29', - '@storybook/sveltekit': '7.1.0-alpha.29', - '@storybook/telemetry': '7.1.0-alpha.29', - '@storybook/theming': '7.1.0-alpha.29', - '@storybook/types': '7.1.0-alpha.29', - '@storybook/vue': '7.1.0-alpha.29', - '@storybook/vue-vite': '7.1.0-alpha.29', - '@storybook/vue-webpack5': '7.1.0-alpha.29', - '@storybook/vue3': '7.1.0-alpha.29', - '@storybook/vue3-vite': '7.1.0-alpha.29', - '@storybook/vue3-webpack5': '7.1.0-alpha.29', - '@storybook/web-components': '7.1.0-alpha.29', - '@storybook/web-components-vite': '7.1.0-alpha.29', - '@storybook/web-components-webpack5': '7.1.0-alpha.29', - sb: '7.1.0-alpha.29', - storybook: '7.1.0-alpha.29', + '@storybook/addon-a11y': '7.1.0-alpha.30', + '@storybook/addon-actions': '7.1.0-alpha.30', + '@storybook/addon-backgrounds': '7.1.0-alpha.30', + '@storybook/addon-controls': '7.1.0-alpha.30', + '@storybook/addon-docs': '7.1.0-alpha.30', + '@storybook/addon-essentials': '7.1.0-alpha.30', + '@storybook/addon-highlight': '7.1.0-alpha.30', + '@storybook/addon-interactions': '7.1.0-alpha.30', + '@storybook/addon-jest': '7.1.0-alpha.30', + '@storybook/addon-links': '7.1.0-alpha.30', + '@storybook/addon-mdx-gfm': '7.1.0-alpha.30', + '@storybook/addon-measure': '7.1.0-alpha.30', + '@storybook/addon-outline': '7.1.0-alpha.30', + '@storybook/addon-storyshots': '7.1.0-alpha.30', + '@storybook/addon-storyshots-puppeteer': '7.1.0-alpha.30', + '@storybook/addon-storysource': '7.1.0-alpha.30', + '@storybook/addon-toolbars': '7.1.0-alpha.30', + '@storybook/addon-viewport': '7.1.0-alpha.30', + '@storybook/addons': '7.1.0-alpha.30', + '@storybook/angular': '7.1.0-alpha.30', + '@storybook/api': '7.1.0-alpha.30', + '@storybook/blocks': '7.1.0-alpha.30', + '@storybook/builder-manager': '7.1.0-alpha.30', + '@storybook/builder-vite': '7.1.0-alpha.30', + '@storybook/builder-webpack5': '7.1.0-alpha.30', + '@storybook/channel-postmessage': '7.1.0-alpha.30', + '@storybook/channel-websocket': '7.1.0-alpha.30', + '@storybook/channels': '7.1.0-alpha.30', + '@storybook/cli': '7.1.0-alpha.30', + '@storybook/client-api': '7.1.0-alpha.30', + '@storybook/client-logger': '7.1.0-alpha.30', + '@storybook/codemod': '7.1.0-alpha.30', + '@storybook/components': '7.1.0-alpha.30', + '@storybook/core-client': '7.1.0-alpha.30', + '@storybook/core-common': '7.1.0-alpha.30', + '@storybook/core-events': '7.1.0-alpha.30', + '@storybook/core-server': '7.1.0-alpha.30', + '@storybook/core-webpack': '7.1.0-alpha.30', + '@storybook/csf-plugin': '7.1.0-alpha.30', + '@storybook/csf-tools': '7.1.0-alpha.30', + '@storybook/docs-tools': '7.1.0-alpha.30', + '@storybook/ember': '7.1.0-alpha.30', + '@storybook/html': '7.1.0-alpha.30', + '@storybook/html-vite': '7.1.0-alpha.30', + '@storybook/html-webpack5': '7.1.0-alpha.30', + '@storybook/instrumenter': '7.1.0-alpha.30', + '@storybook/manager': '7.1.0-alpha.30', + '@storybook/manager-api': '7.1.0-alpha.30', + '@storybook/nextjs': '7.1.0-alpha.30', + '@storybook/node-logger': '7.1.0-alpha.30', + '@storybook/postinstall': '7.1.0-alpha.30', + '@storybook/preact': '7.1.0-alpha.30', + '@storybook/preact-vite': '7.1.0-alpha.30', + '@storybook/preact-webpack5': '7.1.0-alpha.30', + '@storybook/preset-create-react-app': '7.1.0-alpha.30', + '@storybook/preset-html-webpack': '7.1.0-alpha.30', + '@storybook/preset-preact-webpack': '7.1.0-alpha.30', + '@storybook/preset-react-webpack': '7.1.0-alpha.30', + '@storybook/preset-server-webpack': '7.1.0-alpha.30', + '@storybook/preset-svelte-webpack': '7.1.0-alpha.30', + '@storybook/preset-vue-webpack': '7.1.0-alpha.30', + '@storybook/preset-vue3-webpack': '7.1.0-alpha.30', + '@storybook/preset-web-components-webpack': '7.1.0-alpha.30', + '@storybook/preview': '7.1.0-alpha.30', + '@storybook/preview-api': '7.1.0-alpha.30', + '@storybook/preview-web': '7.1.0-alpha.30', + '@storybook/react': '7.1.0-alpha.30', + '@storybook/react-dom-shim': '7.1.0-alpha.30', + '@storybook/react-vite': '7.1.0-alpha.30', + '@storybook/react-webpack5': '7.1.0-alpha.30', + '@storybook/router': '7.1.0-alpha.30', + '@storybook/server': '7.1.0-alpha.30', + '@storybook/server-webpack5': '7.1.0-alpha.30', + '@storybook/source-loader': '7.1.0-alpha.30', + '@storybook/store': '7.1.0-alpha.30', + '@storybook/svelte': '7.1.0-alpha.30', + '@storybook/svelte-vite': '7.1.0-alpha.30', + '@storybook/svelte-webpack5': '7.1.0-alpha.30', + '@storybook/sveltekit': '7.1.0-alpha.30', + '@storybook/telemetry': '7.1.0-alpha.30', + '@storybook/theming': '7.1.0-alpha.30', + '@storybook/types': '7.1.0-alpha.30', + '@storybook/vue': '7.1.0-alpha.30', + '@storybook/vue-vite': '7.1.0-alpha.30', + '@storybook/vue-webpack5': '7.1.0-alpha.30', + '@storybook/vue3': '7.1.0-alpha.30', + '@storybook/vue3-vite': '7.1.0-alpha.30', + '@storybook/vue3-webpack5': '7.1.0-alpha.30', + '@storybook/web-components': '7.1.0-alpha.30', + '@storybook/web-components-vite': '7.1.0-alpha.30', + '@storybook/web-components-webpack5': '7.1.0-alpha.30', + sb: '7.1.0-alpha.30', + storybook: '7.1.0-alpha.30', }; diff --git a/code/lib/client-logger/package.json b/code/lib/client-logger/package.json index e0f39cffbd39..a978f3c0bdd0 100644 --- a/code/lib/client-logger/package.json +++ b/code/lib/client-logger/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/client-logger", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" diff --git a/code/lib/codemod/package.json b/code/lib/codemod/package.json index d3d5886bbae7..a189657ef1cb 100644 --- a/code/lib/codemod/package.json +++ b/code/lib/codemod/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/codemod", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "A collection of codemod scripts written with JSCodeshift", "keywords": [ "storybook" @@ -49,9 +49,10 @@ "@babel/preset-env": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/csf-tools": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", + "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", "jscodeshift": "^0.14.0", @@ -63,7 +64,7 @@ "@types/jscodeshift": "^0.11.6", "ansi-regex": "^5.0.1", "jest": "^29.3.1", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "mdast-util-mdx-jsx": "^2.1.2", "mdast-util-mdxjs-esm": "^1.3.1", "remark": "^14.0.2", diff --git a/code/lib/core-common/package.json b/code/lib/core-common/package.json index 19c7c98a7b29..1e4b4de7431e 100644 --- a/code/lib/core-common/package.json +++ b/code/lib/core-common/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-common", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -43,8 +43,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", "chalk": "^4.1.0", @@ -67,7 +67,7 @@ "@types/picomatch": "^2.3.0", "mock-fs": "^5.2.0", "slash": "^5.0.0", - "type-fest": "^2.19.0", + "type-fest": "^3.11.0", "typescript": "~4.9.3" }, "publishConfig": { diff --git a/code/lib/core-events/package.json b/code/lib/core-events/package.json index 1c271e26cbe2..5c57722c1c09 100644 --- a/code/lib/core-events/package.json +++ b/code/lib/core-events/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-events", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Event names used in storybook core", "keywords": [ "storybook" diff --git a/code/lib/core-server/package.json b/code/lib/core-server/package.json index 545b6d767144..186297a048cc 100644 --- a/code/lib/core-server/package.json +++ b/code/lib/core-server/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-server", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -54,26 +54,25 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@aw-web-design/x-default-browser": "1.4.88", + "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/builder-manager": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-alpha.29", + "@storybook/csf-tools": "7.1.0-alpha.30", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/telemetry": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/telemetry": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", - "@types/node-fetch": "^2.5.7", "@types/pretty-hrtime": "^1.0.0", "@types/semver": "^7.3.4", - "better-opn": "^2.1.1", + "better-opn": "^3.0.2", "boxen": "^5.1.2", "chalk": "^4.1.0", "cli-table3": "^0.6.1", @@ -84,7 +83,6 @@ "globby": "^11.0.2", "ip": "^2.0.0", "lodash": "^4.17.21", - "node-fetch": "^2.6.7", "open": "^8.4.0", "pretty-hrtime": "^1.0.3", "prompts": "^2.4.0", @@ -94,6 +92,7 @@ "telejson": "^7.0.3", "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0", + "util": "^0.12.4", "util-deprecate": "^1.0.2", "watchpack": "^2.2.0", "ws": "^8.2.3" @@ -101,10 +100,12 @@ "devDependencies": { "@types/compression": "^1.7.0", "@types/ip": "^1.1.0", + "@types/node-fetch": "^2.5.7", "@types/serve-favicon": "^2.5.2", "@types/ws": "^8", "jest-os-detection": "^1.3.1", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", + "node-fetch": "^3.3.1", "slash": "^5.0.0", "typescript": "~4.9.3" }, diff --git a/code/lib/core-server/src/utils/StoryIndexGenerator.ts b/code/lib/core-server/src/utils/StoryIndexGenerator.ts index 002b58edbab1..221fa7665189 100644 --- a/code/lib/core-server/src/utils/StoryIndexGenerator.ts +++ b/code/lib/core-server/src/utils/StoryIndexGenerator.ts @@ -353,11 +353,12 @@ export class StoryIndexGenerator { if (!csfEntry) throw new Error( - dedent`Could not find CSF file at path "${result.of}" referenced by \`of={}\` in docs file "${relativePath}". + dedent`Could not find or load CSF file at path "${result.of}" referenced by \`of={}\` in docs file "${relativePath}". - Does that file exist? - If so, is it a CSF file (\`.stories.*\`)? - - If so, is it matched by the \`stories\` glob in \`main.js\`?` + - If so, is it matched by the \`stories\` glob in \`main.js\`? + - If so, has the file successfully loaded in Storybook and are its stories visible?` ); } diff --git a/code/lib/core-webpack/package.json b/code/lib/core-webpack/package.json index 388f028535ba..ca78ec23f502 100644 --- a/code/lib/core-webpack/package.json +++ b/code/lib/core-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -43,9 +43,9 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/node": "^16.0.0", "ts-dedent": "^2.0.0" }, diff --git a/code/lib/csf-plugin/package.json b/code/lib/csf-plugin/package.json index 2a689c193395..9be6ece10741 100644 --- a/code/lib/csf-plugin/package.json +++ b/code/lib/csf-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/csf-plugin", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Enrich CSF files via static analysis", "keywords": [ "storybook" @@ -43,8 +43,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/csf-tools": "7.1.0-alpha.29", - "unplugin": "^0.10.2" + "@storybook/csf-tools": "7.1.0-alpha.30", + "unplugin": "^1.3.1" }, "devDependencies": { "typescript": "~4.9.3" diff --git a/code/lib/csf-plugin/tsconfig.json b/code/lib/csf-plugin/tsconfig.json index a4429176e35f..5b3f3a56a68d 100644 --- a/code/lib/csf-plugin/tsconfig.json +++ b/code/lib/csf-plugin/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "strict": true + "strict": true, + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/code/lib/csf-tools/package.json b/code/lib/csf-tools/package.json index 2a5fa9436741..f93dd54acdd2 100644 --- a/code/lib/csf-tools/package.json +++ b/code/lib/csf-tools/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/csf-tools", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Parse and manipulate CSF and Storybook config files", "keywords": [ "storybook" @@ -46,15 +46,15 @@ "@babel/traverse": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/types": "7.1.0-alpha.30", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" }, "devDependencies": { "@types/fs-extra": "^11.0.1", - "@types/js-yaml": "^3.12.6", - "js-yaml": "^3.14.1", + "@types/js-yaml": "^4.0.5", + "js-yaml": "^4.1.0", "typescript": "~4.9.3" }, "publishConfig": { diff --git a/code/lib/csf-tools/src/CsfFile.test.ts b/code/lib/csf-tools/src/CsfFile.test.ts index 6250ea1c3696..497a79fc53e7 100644 --- a/code/lib/csf-tools/src/CsfFile.test.ts +++ b/code/lib/csf-tools/src/CsfFile.test.ts @@ -22,6 +22,8 @@ const parse = (code: string, includeParameters?: boolean) => { return { meta, stories: filtered }; }; +// + describe('CsfFile', () => { describe('basic', () => { it('args stories', () => { @@ -124,7 +126,7 @@ describe('CsfFile', () => { expect( parse( dedent` - export default { title: 'foo/bar', includeStories: /^Include.*/ }; + export default { title: 'foo/bar', includeStories: ['IncludeA'] }; export const SomeHelper = () => {}; export const IncludeA = () => {}; ` @@ -132,7 +134,8 @@ describe('CsfFile', () => { ).toMatchInlineSnapshot(` meta: title: foo/bar - includeStories: ! /^Include.*/ + includeStories: + - IncludeA stories: - id: foo-bar--include-a name: Include A @@ -529,10 +532,10 @@ describe('CsfFile', () => { } `) ).toMatchInlineSnapshot(` - meta: - title: Chip - stories: [] - `); + meta: + title: Chip + stories: [] + `); }); }); diff --git a/code/lib/docs-tools/package.json b/code/lib/docs-tools/package.json index 16e1916e9566..963a025a64c3 100644 --- a/code/lib/docs-tools/package.json +++ b/code/lib/docs-tools/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/docs-tools", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Shared utility functions for frameworks to implement docs", "keywords": [ "storybook" @@ -43,16 +43,16 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-common": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/core-common": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" }, "devDependencies": { "@babel/core": "^7.22.0", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "require-from-string": "^2.0.2", "typescript": "~4.9.3" }, diff --git a/code/lib/instrumenter/package.json b/code/lib/instrumenter/package.json index 4e40124843ab..5976d13ad2d7 100644 --- a/code/lib/instrumenter/package.json +++ b/code/lib/instrumenter/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/instrumenter", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -43,11 +43,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29" + "@storybook/preview-api": "7.1.0-alpha.30" }, "devDependencies": { "typescript": "~4.9.3" diff --git a/code/lib/manager-api/package.json b/code/lib/manager-api/package.json index 6b0afc956b24..92c3e0a1862c 100644 --- a/code/lib/manager-api/package.json +++ b/code/lib/manager-api/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/manager-api", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook Manager API & Context", "keywords": [ "storybook" @@ -42,14 +42,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/router": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", diff --git a/code/lib/manager-api/src/index.tsx b/code/lib/manager-api/src/index.tsx index ef5107c01ef6..db27d916d75f 100644 --- a/code/lib/manager-api/src/index.tsx +++ b/code/lib/manager-api/src/index.tsx @@ -57,6 +57,7 @@ import * as releaseNotes from './modules/release-notes'; // eslint-disable-next-line import/no-cycle import * as stories from './modules/stories'; +// eslint-disable-next-line import/no-cycle import * as refs from './modules/refs'; import * as layout from './modules/layout'; import * as shortcuts from './modules/shortcuts'; diff --git a/code/lib/manager-api/src/modules/addons.ts b/code/lib/manager-api/src/modules/addons.ts index 74c4bb7afb96..fad78ddf8aa9 100644 --- a/code/lib/manager-api/src/modules/addons.ts +++ b/code/lib/manager-api/src/modules/addons.ts @@ -1,4 +1,10 @@ -import type { Addon_Types, API_Collection, API_Panels, API_StateMerger } from '@storybook/types'; +import type { + Addon_Type, + Addon_Types, + API_Collection, + API_Panels, + API_StateMerger, +} from '@storybook/types'; import { Addon_TypesEnum } from '@storybook/types'; import type { ModuleFn } from '../index'; import type { Options } from '../store'; @@ -9,16 +15,61 @@ export interface SubState { } export interface SubAPI { - getElements: (type: Addon_Types) => API_Collection; + /** + * Returns a collection of elements of a specific type. + * @protected This is used internally in storybook's manager. + * @template T - The type of the elements in the collection. + * @param {Addon_Types} type - The type of the elements to retrieve. + * @returns {API_Collection} - A collection of elements of the specified type. + */ + getElements: (type: Addon_Types) => API_Collection; + /** + * Returns a collection of all panels. + * This is the same as calling getElements('panel') + * @protected This is used internally in storybook's manager. + * @deprecated please use getElements('panel') instead. This API will be removed in storybook 8.0. + * @returns {API_Panels} - A collection of all panels. + */ getPanels: () => API_Panels; + /** + * Returns a collection of panels currently enabled for the selected story. + * @protected This is used internally in storybook's manager. + * @deprecated please use getElements('panel') instead, and do the filtering manually. This API will be removed in storybook 8.0. + * @returns {API_Panels} - A collection of all panels. + */ getStoryPanels: () => API_Panels; + /** + * Returns the id of the currently selected panel. + * @returns {string} - The ID of the currently selected panel. + */ getSelectedPanel: () => string; + /** + * Sets the currently selected panel via it's ID. + * @param {string} panelName - The ID of the panel to select. + * @returns {void} + */ setSelectedPanel: (panelName: string) => void; + /** + * Sets the state of an addon with the given ID. + * @template S - The type of the addon state. + * @param {string} addonId - The ID of the addon to set the state for. + * @param {S | API_StateMerger} newStateOrMerger - The new state to set, or a function that merges the current state with the new state. + * @param {Options} [options] - Optional options for the state update. + * @deprecated This API might get dropped, if you are using this, please file an issue. + * @returns {Promise} - A promise that resolves with the new state after it has been set. + */ setAddonState( addonId: string, newStateOrMerger: S | API_StateMerger, options?: Options ): Promise; + /** + * Returns the state of an addon with the given ID. + * @template S - The type of the addon state. + * @param {string} addonId - The ID of the addon to get the state for. + * @deprecated This API might get dropped, if you are using this, please file an issue. + * @returns {S} - The state of the addon with the given ID. + */ getAddonState(addonId: string): S; } @@ -40,7 +91,7 @@ export const init: ModuleFn = ({ provider, store, fullAPI }) = getElements: (type) => provider.getElements(type), getPanels: () => api.getElements(Addon_TypesEnum.PANEL), getStoryPanels: () => { - const allPanels = api.getPanels(); + const allPanels = api.getElements(Addon_TypesEnum.PANEL); const { storyId } = store.getState(); const story = fullAPI.getData(storyId); @@ -63,7 +114,7 @@ export const init: ModuleFn = ({ provider, store, fullAPI }) = }, getSelectedPanel: () => { const { selectedPanel } = store.getState(); - return ensurePanel(api.getPanels(), selectedPanel, selectedPanel); + return ensurePanel(api.getElements(Addon_TypesEnum.PANEL), selectedPanel, selectedPanel); }, setSelectedPanel: (panelName) => { store.setState({ selectedPanel: panelName }, { persistence: 'session' }); @@ -93,7 +144,10 @@ export const init: ModuleFn = ({ provider, store, fullAPI }) = return { api, state: { - selectedPanel: ensurePanel(api.getPanels(), store.getState().selectedPanel), + selectedPanel: ensurePanel( + api.getElements(Addon_TypesEnum.PANEL), + store.getState().selectedPanel + ), addons: {}, }, }; diff --git a/code/lib/manager-api/src/modules/channel.ts b/code/lib/manager-api/src/modules/channel.ts index da85ebd6a7f2..01b67a003d15 100644 --- a/code/lib/manager-api/src/modules/channel.ts +++ b/code/lib/manager-api/src/modules/channel.ts @@ -6,12 +6,46 @@ import type { API_Provider } from '@storybook/types'; import type { API, ModuleFn } from '../index'; export interface SubAPI { + /** + * Returns the channel object. + * @protected Please do not use, it's for internal use only. + */ getChannel: () => API_Provider['channel']; - on: (type: string, cb: Listener) => () => void; - off: (type: string, cb: Listener) => void; + /** + * Adds a listener to the channel for the given event type. + * Returns a function that can be called to remove the listener. + * @param type - The event type to listen for. If using a core event, import it from `@storybook/core-events`. + * @param handler - The callback function to be called when the event is emitted. + * @returns A function that can be called to remove the listener. + */ + on: (type: string, handler: Listener) => () => void; + /** + * Removes a listener from the channel for the given event type. + * @param type - The event type to remove the listener from. If using a core event, import it from `@storybook/core-events`. + * @param handler - The callback function to be removed. + */ + off: (type: string, handler: Listener) => void; + /** + * Emits an event on the channel for the given event type. + * @param type - The event type to emit. If using a core event, import it from `@storybook/core-events`. + * @param args - The arguments to pass to the event listener. + */ emit: (type: string, ...args: any[]) => void; - once: (type: string, cb: Listener) => void; + /** + * Adds a one-time listener to the channel for the given event type. + * @param type - The event type to listen for. If using a core event, import it from `@storybook/core-events`. + * @param handler - The callback function to be called when the event is emitted. + */ + once: (type: string, handler: Listener) => void; + /** + * Emits an event to collapse all stories in the UI. + * @deprecated Use `emit(STORIES_COLLAPSE_ALL)` instead. This API will be removed in Storybook 8.0. + */ collapseAll: () => void; + /** + * Emits an event to expand all stories in the UI. + * @deprecated Use `emit(STORIES_EXPAND_ALL)` instead. This API will be removed in Storybook 8.0. + */ expandAll: () => void; } @@ -20,13 +54,13 @@ export type SubState = Record; export const init: ModuleFn = ({ provider }) => { const api: SubAPI = { getChannel: () => provider.channel, - on: (type, cb) => { - provider.channel.addListener(type, cb); + on: (type, handler) => { + provider.channel.on(type, handler); - return () => provider.channel.removeListener(type, cb); + return () => provider.channel.off(type, handler); }, - off: (type, cb) => provider.channel.removeListener(type, cb), - once: (type, cb) => provider.channel.once(type, cb), + off: (type, handler) => provider.channel.off(type, handler), + once: (type, handler) => provider.channel.once(type, handler), emit: (type, data, ...args) => { if ( data?.options?.target && @@ -42,7 +76,7 @@ export const init: ModuleFn = ({ provider }) => { }, collapseAll: () => { - provider.channel.emit(STORIES_COLLAPSE_ALL, {}); + api.emit(STORIES_COLLAPSE_ALL, {}); }, expandAll: () => { api.emit(STORIES_EXPAND_ALL); diff --git a/code/lib/manager-api/src/modules/globals.ts b/code/lib/manager-api/src/modules/globals.ts index 14d68f8cbaa7..9b8d47069564 100644 --- a/code/lib/manager-api/src/modules/globals.ts +++ b/code/lib/manager-api/src/modules/globals.ts @@ -14,8 +14,21 @@ export interface SubState { } export interface SubAPI { + /** + * Returns the current global data object. + * @returns {Globals} The current global data object. + */ getGlobals: () => Globals; + /** + * Returns the current global types object. + * @returns {GlobalTypes} The current global types object. + */ getGlobalTypes: () => GlobalTypes; + /** + * Updates the current global data object with the provided new global data object. + * @param {Globals} newGlobals - The new global data object to update with. + * @returns {void} + */ updateGlobals: (newGlobals: Globals) => void; } diff --git a/code/lib/manager-api/src/modules/layout.ts b/code/lib/manager-api/src/modules/layout.ts index 8c23956e7380..bbe43af9863d 100644 --- a/code/lib/manager-api/src/modules/layout.ts +++ b/code/lib/manager-api/src/modules/layout.ts @@ -25,11 +25,35 @@ export interface SubState { } export interface SubAPI { + /** + * Toggles the fullscreen mode of the Storybook UI. + * @param toggled - Optional boolean value to set the fullscreen mode to. If not provided, it will toggle the current state. + */ toggleFullscreen: (toggled?: boolean) => void; + /** + * Toggles the visibility of the panel in the Storybook UI. + * @param toggled - Optional boolean value to set the panel visibility to. If not provided, it will toggle the current state. + */ togglePanel: (toggled?: boolean) => void; + /** + * Toggles the position of the panel in the Storybook UI. + * @param position - Optional string value to set the panel position to. If not provided, it will toggle between 'bottom' and 'right'. + */ togglePanelPosition: (position?: API_PanelPositions) => void; + /** + * Toggles the visibility of the navigation bar in the Storybook UI. + * @param toggled - Optional boolean value to set the navigation bar visibility to. If not provided, it will toggle the current state. + */ toggleNav: (toggled?: boolean) => void; + /** + * Toggles the visibility of the toolbar in the Storybook UI. + * @param toggled - Optional boolean value to set the toolbar visibility to. If not provided, it will toggle the current state. + */ toggleToolbar: (toggled?: boolean) => void; + /** + * Sets the options for the Storybook UI. + * @param options - An object containing the options to set. + */ setOptions: (options: any) => void; } diff --git a/code/lib/manager-api/src/modules/notifications.ts b/code/lib/manager-api/src/modules/notifications.ts index 7ef95a3862bf..b75d8879317d 100644 --- a/code/lib/manager-api/src/modules/notifications.ts +++ b/code/lib/manager-api/src/modules/notifications.ts @@ -5,8 +5,20 @@ export interface SubState { notifications: API_Notification[]; } +/** + * The API for managing notifications. + */ export interface SubAPI { + /** + * Adds a new notification to the list of notifications. + * If a notification with the same ID already exists, it will be replaced. + * @param notification - The notification to add. + */ addNotification: (notification: API_Notification) => void; + /** + * Removes a notification from the list of notifications. + * @param id - The ID of the notification to remove. + */ clearNotification: (id: string) => void; } diff --git a/code/lib/manager-api/src/modules/provider.ts b/code/lib/manager-api/src/modules/provider.ts index edcfc16a2ce3..272fc0d1839c 100644 --- a/code/lib/manager-api/src/modules/provider.ts +++ b/code/lib/manager-api/src/modules/provider.ts @@ -1,8 +1,8 @@ -import type { API_Provider } from '@storybook/types'; -import type { API, ModuleFn } from '../index'; +import type { API_IframeRenderer } from '@storybook/types'; +import type { ModuleFn } from '../index'; export interface SubAPI { - renderPreview?: API_Provider['renderPreview']; + renderPreview?: API_IframeRenderer; } export const init: ModuleFn = ({ provider, fullAPI }) => { diff --git a/code/lib/manager-api/src/modules/refs.ts b/code/lib/manager-api/src/modules/refs.ts index 4d74127c9fe1..5fe2462dfbb3 100644 --- a/code/lib/manager-api/src/modules/refs.ts +++ b/code/lib/manager-api/src/modules/refs.ts @@ -27,12 +27,47 @@ export interface SubState { } export interface SubAPI { + /** + * Finds a composed ref by its source. + * @param {string} source - The source/URL of the composed ref. + * @returns {API_ComposedRef} - The composed ref object. + */ findRef: (source: string) => API_ComposedRef; + /** + * Sets a composed ref by its ID and data. + * @param {string} id - The ID of the composed ref. + * @param {API_SetRefData} data - The data to set for the composed ref. + * @param {boolean} [ready] - Whether the composed ref is ready. + */ setRef: (id: string, data: API_SetRefData, ready?: boolean) => void; + /** + * Updates a composed ref by its ID and update object. + * @param {string} id - The ID of the composed ref. + * @param {API_ComposedRefUpdate} ref - The update object for the composed ref. + */ updateRef: (id: string, ref: API_ComposedRefUpdate) => void; + /** + * Gets all composed refs. + * @returns {API_Refs} - The composed refs object. + */ getRefs: () => API_Refs; + /** + * Checks if a composed ref is valid. + * @param {API_SetRefData} ref - The composed ref to check. + * @returns {Promise} - A promise that resolves when the check is complete. + */ checkRef: (ref: API_SetRefData) => Promise; + /** + * Changes the version of a composed ref by its ID and URL. + * @param {string} id - The ID of the composed ref. + * @param {string} url - The new URL for the composed ref. + */ changeRefVersion: (id: string, url: string) => void; + /** + * Changes the state of a composed ref by its ID and previewInitialized flag. + * @param {string} id - The ID of the composed ref. + * @param {boolean} previewInitialized - The new previewInitialized flag for the composed ref. + */ changeRefState: (id: string, previewInitialized: boolean) => void; } diff --git a/code/lib/manager-api/src/modules/release-notes.ts b/code/lib/manager-api/src/modules/release-notes.ts index d1546a6f47ce..2beccdc312a0 100644 --- a/code/lib/manager-api/src/modules/release-notes.ts +++ b/code/lib/manager-api/src/modules/release-notes.ts @@ -15,8 +15,20 @@ const getReleaseNotesData = memoize(1)((): API_ReleaseNotes => { }); export interface SubAPI { + /** + * Returns the current version of the release notes. + * @returns {string} The current version of the release notes. + */ releaseNotesVersion: () => string; + /** + * Sets the release notes as viewed. + * @returns {void} + */ setDidViewReleaseNotes: () => void; + /** + * Determines whether to show the release notes on launch. + * @returns {boolean} Whether to show the release notes on launch. + */ showReleaseNotesOnLaunch: () => boolean; } diff --git a/code/lib/manager-api/src/modules/settings.ts b/code/lib/manager-api/src/modules/settings.ts index 452b216d8153..228640df9748 100644 --- a/code/lib/manager-api/src/modules/settings.ts +++ b/code/lib/manager-api/src/modules/settings.ts @@ -2,9 +2,27 @@ import type { API_Settings } from '@storybook/types'; import type { ModuleFn } from '../index'; export interface SubAPI { - changeSettingsTab: (tab: string) => void; + /** + * Changes the active settings tab. + * @param path - The path of the settings page to navigate to. The path NOT should include the `/settings` prefix. + * @example changeSettingsTab(`about`). + */ + changeSettingsTab: (path: string) => void; + /** + * Closes the settings screen and returns to the last tracked story or the first story. + */ closeSettings: () => void; + /** + * Checks if the settings screen is currently active. + * @returns A boolean indicating whether the settings screen is active. + */ isSettingsScreenActive: () => boolean; + /** + * Navigates to the specified settings page. + * @param path - The path of the settings page to navigate to. The path should include the `/settings` prefix. + * @example navigateToSettingsPage(`/settings/about`). + * @deprecated Use `changeSettingsTab` instead. + */ navigateToSettingsPage: (path: string) => Promise; } @@ -29,8 +47,8 @@ export const init: ModuleFn = ({ store, navigate, fullAPI }) = fullAPI.selectFirstStory(); } }, - changeSettingsTab: (tab: string) => { - navigate(`/settings/${tab}`); + changeSettingsTab: (path: string) => { + navigate(`/settings/${path}`); }, isSettingsScreenActive, navigateToSettingsPage: async (path) => { diff --git a/code/lib/manager-api/src/modules/shortcuts.ts b/code/lib/manager-api/src/modules/shortcuts.ts index 8c7af4f146ce..8dcf942f4bc7 100644 --- a/code/lib/manager-api/src/modules/shortcuts.ts +++ b/code/lib/manager-api/src/modules/shortcuts.ts @@ -23,19 +23,69 @@ export interface SubState { } export interface SubAPI { + /** + * Returns the current shortcuts. + */ getShortcutKeys(): API_Shortcuts; + /** + * Returns the default shortcuts. + */ getDefaultShortcuts(): API_Shortcuts | API_AddonShortcutDefaults; + /** + * Returns the shortcuts for addons. + */ getAddonsShortcuts(): API_AddonShortcuts; + /** + * Returns the labels for addon shortcuts. + */ getAddonsShortcutLabels(): API_AddonShortcutLabels; + /** + * Returns the default shortcuts for addons. + */ getAddonsShortcutDefaults(): API_AddonShortcutDefaults; + /** + * Sets the shortcuts to the given value. + * @param shortcuts The new shortcuts to set. + * @returns A promise that resolves to the new shortcuts. + */ setShortcuts(shortcuts: API_Shortcuts): Promise; + /** + * Sets the shortcut for the given action to the given value. + * @param action The action to set the shortcut for. + * @param value The new shortcut to set. + * @returns A promise that resolves to the new shortcut. + */ setShortcut(action: API_Action, value: API_KeyCollection): Promise; + /** + * Sets the shortcut for the given addon to the given value. + * @param addon The addon to set the shortcut for. + * @param shortcut The new shortcut to set. + * @returns A promise that resolves to the new addon shortcut. + */ setAddonShortcut(addon: string, shortcut: API_AddonShortcut): Promise; + /** + * Restores all default shortcuts. + * @returns A promise that resolves to the new shortcuts. + */ restoreAllDefaultShortcuts(): Promise; + /** + * Restores the default shortcut for the given action. + * @param action The action to restore the default shortcut for. + * @returns A promise that resolves to the new shortcut. + */ restoreDefaultShortcut(action: API_Action): Promise; + /** + * Handles a keydown event. + * @param event The event to handle. + */ handleKeydownEvent(event: KeyboardEventLike): void; + /** + * Handles a shortcut feature. + * @param feature The feature to handle. + */ handleShortcutFeature(feature: API_Action): void; } + export type API_KeyCollection = string[]; export interface API_Shortcuts { diff --git a/code/lib/manager-api/src/modules/stories.ts b/code/lib/manager-api/src/modules/stories.ts index 0d8b7b87659c..1b66dfbb4525 100644 --- a/code/lib/manager-api/src/modules/stories.ts +++ b/code/lib/manager-api/src/modules/stories.ts @@ -50,6 +50,7 @@ import { } from '../lib/stories'; import type { ComposedRef, ModuleFn } from '../index'; +import { merge } from '../index'; const { FEATURES, fetch } = global; const STORY_INDEX_PATH = './index.json'; @@ -61,47 +62,210 @@ type ViewMode = 'story' | 'info' | 'settings' | string | undefined; type StoryUpdate = Partial< Pick >; +interface StatusObject { + status: 'pending' | 'success' | 'error' | 'warn' | 'unknown'; + title: string; + description: string; + data?: any; +} + +type StatusState = Record>; +type StatusUpdate = Record; + type DocsUpdate = Partial>; export interface SubState extends API_LoadedRefData { storyId: StoryId; viewMode: ViewMode; + status: StatusState; } export interface SubAPI { + /** + * The `storyId` method is a reference to the `toId` function from `@storybook/csf`, which is used to generate a unique ID for a story. + * This ID is used to identify a specific story in the Storybook index. + * + * @type {typeof toId} + */ storyId: typeof toId; + /** + * Resolves a story, docs, component or group ID to its corresponding hash entry in the index. + * + * @param {StoryId} storyId - The ID of the story to resolve. + * @param {string} [refsId] - The ID of the refs to use for resolving the story. + * @returns {API_HashEntry} - The hash entry corresponding to the given story ID. + */ resolveStory: (storyId: StoryId, refsId?: string) => API_HashEntry; + /** + * Selects the first story to display in the Storybook UI. + * + * @returns {void} + */ selectFirstStory: () => void; + /** + * Selects a story to display in the Storybook UI. + * + * @param {string} [kindOrId] - The kind or ID of the story to select. + * @param {StoryId} [story] - The ID of the story to select. + * @param {Object} [obj] - An optional object containing additional options. + * @param {string} [obj.ref] - The ref ID of the story to select. + * @param {ViewMode} [obj.viewMode] - The view mode to display the story in. + * @returns {void} + */ selectStory: ( kindOrId?: string, - story?: string, + story?: StoryId, obj?: { ref?: string; viewMode?: ViewMode } ) => void; + /** + * Returns the current story's data, including its ID, kind, name, and parameters. + * + * @returns {API_LeafEntry} The current story's data. + */ getCurrentStoryData: () => API_LeafEntry; + /** + * Sets the prepared story index to the given value. + * + * @param {API_PreparedStoryIndex} index - The prepared story index to set. + * @returns {Promise} A promise that resolves when the prepared story index has been set. + */ setIndex: (index: API_PreparedStoryIndex) => Promise; + + /** + * Jumps to the next or previous component in the index. + * + * @param {Direction} direction - The direction to jump. Use -1 to jump to the previous component, and 1 to jump to the next component. + * @returns {void} + */ jumpToComponent: (direction: Direction) => void; + /** + * Jumps to the next or previous story in the story index. + * + * @param {Direction} direction - The direction to jump. Use -1 to jump to the previous story, and 1 to jump to the next story. + * @returns {void} + */ jumpToStory: (direction: Direction) => void; + /** + * Returns the data for the given story ID and optional ref ID. + * + * @param {StoryId} storyId - The ID of the story to retrieve data for. + * @param {string} [refId] - The ID of the ref to retrieve data for. If not provided, retrieves data for the default ref. + * @returns {API_LeafEntry} The data for the given story ID and optional ref ID. + */ getData: (storyId: StoryId, refId?: string) => API_LeafEntry; + /** + * Returns a boolean indicating whether the given story ID and optional ref ID have been prepared. + * + * @param {StoryId} storyId - The ID of the story to check. + * @param {string} [refId] - The ID of the ref to check. If not provided, checks all refs for the given story ID. + * @returns {boolean} A boolean indicating whether the given story ID and optional ref ID have been prepared. + */ isPrepared: (storyId: StoryId, refId?: string) => boolean; + /** + * Returns the parameters for the given story ID and optional ref ID. + * + * @param {StoryId | { storyId: StoryId; refId: string }} storyId - The ID of the story to retrieve parameters for, or an object containing the story ID and ref ID. + * @param {ParameterName} [parameterName] - The name of the parameter to retrieve. If not provided, returns all parameters. + * @returns {API_StoryEntry['parameters'] | any} The parameters for the given story ID and optional ref ID. + */ getParameters: ( storyId: StoryId | { storyId: StoryId; refId: string }, parameterName?: ParameterName ) => API_StoryEntry['parameters'] | any; + /** + * Returns the current value of the specified parameter for the currently selected story. + * + * @template S - The type of the parameter value. + * @param {ParameterName} [parameterName] - The name of the parameter to retrieve. If not provided, returns all parameters. + * @returns {S} The value of the specified parameter for the currently selected story. + */ getCurrentParameter(parameterName?: ParameterName): S; + /** + * Updates the arguments for the given story with the provided new arguments. + * + * @param {API_StoryEntry} story - The story to update the arguments for. + * @param {Args} newArgs - The new arguments to set for the story. + * @returns {void} + */ updateStoryArgs(story: API_StoryEntry, newArgs: Args): void; + /** + * Resets the arguments for the given story to their initial values. + * + * @param {API_StoryEntry} story - The story to reset the arguments for. + * @param {string[]} [argNames] - An optional array of argument names to reset. If not provided, all arguments will be reset. + * @returns {void} + */ resetStoryArgs: (story: API_StoryEntry, argNames?: string[]) => void; + /** + * Finds the leaf entry for the given story ID in the given story index. + * + * @param {API_IndexHash} index - The story index to search for the leaf entry in. + * @param {StoryId} storyId - The ID of the story to find the leaf entry for. + * @returns {API_LeafEntry} The leaf entry for the given story ID, or null if no leaf entry was found. + */ findLeafEntry(index: API_IndexHash, storyId: StoryId): API_LeafEntry; + /** + * Finds the leaf story ID for the given component or group ID in the given index. + * + * @param {API_IndexHash} index - The story index to search for the leaf story ID in. + * @param {StoryId} storyId - The ID of the story to find the leaf story ID for. + * @returns {StoryId} The ID of the leaf story, or null if no leaf story was found. + */ findLeafStoryId(index: API_IndexHash, storyId: StoryId): StoryId; + /** + * Finds the ID of the sibling story in the given direction for the given story ID in the given story index. + * + * @param {StoryId} storyId - The ID of the story to find the sibling of. + * @param {API_IndexHash} index - The story index to search for the sibling in. + * @param {Direction} direction - The direction to search for the sibling in. + * @param {boolean} toSiblingGroup - When true, skips over leafs within the same group. + * @returns {StoryId} The ID of the sibling story, or null if no sibling was found. + */ findSiblingStoryId( storyId: StoryId, index: API_IndexHash, direction: Direction, toSiblingGroup: boolean // when true, skip over leafs within the same group ): StoryId; + /** + * Fetches the story index from the server. + * + * @returns {Promise} A promise that resolves when the index has been fetched. + */ fetchIndex: () => Promise; + /** + * Updates the story with the given ID with the provided update object. + * + * @param {StoryId} storyId - The ID of the story to update. + * @param {StoryUpdate} update - An object containing the updated story information. + * @param {API_ComposedRef} [ref] - The composed ref of the story to update. + * @returns {Promise} A promise that resolves when the story has been updated. + */ updateStory: (storyId: StoryId, update: StoryUpdate, ref?: API_ComposedRef) => Promise; + /** + * Updates the documentation for the given story ID with the given update object. + * + * @param {StoryId} storyId - The ID of the story to update. + * @param {DocsUpdate} update - An object containing the updated documentation information. + * @param {API_ComposedRef} [ref] - The composed ref of the story to update. + * @returns {Promise} A promise that resolves when the documentation has been updated. + */ updateDocs: (storyId: StoryId, update: DocsUpdate, ref?: API_ComposedRef) => Promise; + /** + * Sets the preview as initialized. + * + * @param {ComposedRef} [ref] - The composed ref of the story to set as initialized. + * @returns {Promise} A promise that resolves when the preview has been set as initialized. + */ setPreviewInitialized: (ref?: ComposedRef) => Promise; + /** + * Updates the status of a collection of stories. + * + * @param {string} addonId - The ID of the addon to update. + * @param {StatusUpdate} update - An object containing the updated status information. + * @returns {Promise} A promise that resolves when the status has been updated. + */ + experimental_updateStatus: (addonId: string, update: StatusUpdate) => Promise; } const removedOptions = ['enableShortcuts', 'theme', 'showRoots']; @@ -406,6 +570,18 @@ export const init: ModuleFn = ({ fullAPI.updateRef(ref.id, { previewInitialized: true }); } }, + + /* EXPERIMENTAL APIs */ + experimental_updateStatus: async (id, update) => { + const { status } = store.getState(); + const addition = Object.entries(update).reduce((acc, [storyId, value]) => { + acc[storyId] = acc[storyId] || {}; + acc[storyId][id] = value; + + return acc; + }, {}); + await store.setState({ status: merge(status, addition) }, { persistence: 'session' }); + }, }; const initModule = async () => { @@ -575,6 +751,7 @@ export const init: ModuleFn = ({ viewMode: initialViewMode, hasCalledSetOptions: false, previewInitialized: false, + status: {}, }, init: initModule, }; diff --git a/code/lib/manager-api/src/modules/url.ts b/code/lib/manager-api/src/modules/url.ts index 7dc77ecec077..7e83f7a76993 100644 --- a/code/lib/manager-api/src/modules/url.ts +++ b/code/lib/manager-api/src/modules/url.ts @@ -74,9 +74,33 @@ export interface QueryParams { [key: string]: string | null; } +/** + * SubAPI for managing URL navigation and state. + */ export interface SubAPI { + /** + * Navigate to a new URL. + * @param {string} url - The URL to navigate to. + * @param {NavigateOptions} options - Options for the navigation. + * @returns {void} + */ navigateUrl: (url: string, options: NavigateOptions) => void; + /** + * Get the value of a query parameter from the current URL. + * @param {string} key - The key of the query parameter to get. + * @returns {string | undefined} The value of the query parameter, or undefined if it does not exist. + */ getQueryParam: (key: string) => string | undefined; + /** + * Returns an object containing the current state of the URL. + * @returns {{ + * queryParams: QueryParams, + * path: string, + * viewMode?: string, + * storyId?: string, + * url: string + * }} An object containing the current state of the URL. + */ getUrlState: () => { queryParams: QueryParams; path: string; @@ -84,6 +108,11 @@ export interface SubAPI { storyId?: string; url: string; }; + /** + * Set the query parameters for the current URL. + * @param {QueryParams} input - An object containing the query parameters to set. + * @returns {void} + */ setQueryParams: (input: QueryParams) => void; } diff --git a/code/lib/manager-api/src/modules/versions.ts b/code/lib/manager-api/src/modules/versions.ts index 0ea85ae6d919..232fcfe9fbfb 100644 --- a/code/lib/manager-api/src/modules/versions.ts +++ b/code/lib/manager-api/src/modules/versions.ts @@ -24,8 +24,23 @@ const getVersionCheckData = memoize(1)((): API_Versions => { }); export interface SubAPI { + /** + * Returns the current version of the Storybook Manager. + * + * @returns {API_Version} The current version of the Storybook Manager. + */ getCurrentVersion: () => API_Version; + /** + * Returns the latest version of the Storybook Manager. + * + * @returns {API_Version} The latest version of the Storybook Manager. + */ getLatestVersion: () => API_Version; + /** + * Checks if an update is available for the Storybook Manager. + * + * @returns {boolean} True if an update is available, false otherwise. + */ versionUpdateAvailable: () => boolean; } diff --git a/code/lib/manager-api/src/tests/stories.test.ts b/code/lib/manager-api/src/tests/stories.test.ts index 4e6e7081db24..399d68009f10 100644 --- a/code/lib/manager-api/src/tests/stories.test.ts +++ b/code/lib/manager-api/src/tests/stories.test.ts @@ -21,6 +21,7 @@ import { Channel } from '@storybook/channels'; import type { API_StoryEntry, StoryIndex, API_PreparedStoryIndex } from '@storybook/types'; import { getEventMetadata } from '../lib/events'; +import type { SubAPI } from '../modules/stories'; import { init as initStories } from '../modules/stories'; import type Store from '../store'; import type { ModuleArgs } from '..'; @@ -125,12 +126,14 @@ describe('stories API', () => { viewMode: 'story', } as ModuleArgs); - expect(state).toEqual({ - previewInitialized: false, - storyId: 'id', - viewMode: 'story', - hasCalledSetOptions: false, - }); + expect(state).toEqual( + expect.objectContaining({ + previewInitialized: false, + storyId: 'id', + viewMode: 'story', + hasCalledSetOptions: false, + }) + ); }); describe('setIndex', () => { @@ -1629,4 +1632,103 @@ describe('stories API', () => { ); }); }); + + describe('experimental_updateStatus', () => { + it('is included in the initial state', () => { + const { state } = initStoriesAndSetState({ + storyId: 'id', + viewMode: 'story', + } as ModuleArgs); + + expect(state).toEqual( + expect.objectContaining({ + status: {}, + }) + ); + }); + + it('updates a story', async () => { + const fullAPI = Object.assign(new EventEmitter()); + const navigate = jest.fn(); + const store = createMockStore(); + + const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any); + + const API: SubAPI = Object.assign(fullAPI, api, { + setIndex: jest.fn(), + findRef: jest.fn(), + setRef: jest.fn(), + }); + + await init(); + + await expect( + API.experimental_updateStatus('a-addon-id', { + 'a-story-id': { + status: 'pending', + title: 'an addon title', + description: 'an addon description', + }, + }) + ).resolves.not.toThrow(); + + expect(store.getState().status).toMatchInlineSnapshot(` + Object { + "a-story-id": Object { + "a-addon-id": Object { + "description": "an addon description", + "status": "pending", + "title": "an addon title", + }, + }, + } + `); + }); + + it('updates multiple stories', async () => { + const fullAPI = Object.assign(new EventEmitter()); + const navigate = jest.fn(); + const store = createMockStore(); + + const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any); + + const API: SubAPI = Object.assign(fullAPI, api, { + setIndex: jest.fn(), + findRef: jest.fn(), + setRef: jest.fn(), + }); + + await init(); + + await expect( + API.experimental_updateStatus('a-addon-id', { + 'a-story-id': { + status: 'pending', + title: 'an addon title', + description: 'an addon description', + }, + 'another-story-id': { status: 'success', title: 'a addon title', description: '' }, + }) + ).resolves.not.toThrow(); + + expect(store.getState().status).toMatchInlineSnapshot(` + Object { + "a-story-id": Object { + "a-addon-id": Object { + "description": "an addon description", + "status": "pending", + "title": "an addon title", + }, + }, + "another-story-id": Object { + "a-addon-id": Object { + "description": "", + "status": "success", + "title": "a addon title", + }, + }, + } + `); + }); + }); }); diff --git a/code/lib/manager-api/src/version.ts b/code/lib/manager-api/src/version.ts index 364788a853a6..f4ea03059895 100644 --- a/code/lib/manager-api/src/version.ts +++ b/code/lib/manager-api/src/version.ts @@ -1 +1 @@ -export const version = '7.1.0-alpha.29'; +export const version = '7.1.0-alpha.30'; diff --git a/code/lib/node-logger/package.json b/code/lib/node-logger/package.json index 8d241b3e1baa..c25dd58b57c6 100644 --- a/code/lib/node-logger/package.json +++ b/code/lib/node-logger/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/node-logger", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" diff --git a/code/lib/postinstall/package.json b/code/lib/postinstall/package.json index 47a4810be72d..f396b863e52f 100644 --- a/code/lib/postinstall/package.json +++ b/code/lib/postinstall/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/postinstall", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook addons postinstall utilities", "keywords": [ "api", @@ -45,7 +45,7 @@ }, "devDependencies": { "jest": "^29.3.1", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "jscodeshift": "^0.14.0", "typescript": "~4.9.3" }, diff --git a/code/lib/preview-api/package.json b/code/lib/preview-api/package.json index 2916ea64a010..663aed6f69fa 100644 --- a/code/lib/preview-api/package.json +++ b/code/lib/preview-api/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preview-api", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -67,13 +67,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/types": "7.1.0-alpha.30", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -84,8 +84,8 @@ "util-deprecate": "^1.0.2" }, "devDependencies": { - "@jest/globals": "^26.6.2", - "@storybook/core-common": "7.1.0-alpha.29", + "@jest/globals": "^29.5.0", + "@storybook/core-common": "7.1.0-alpha.30", "ansi-to-html": "^0.6.11", "react": "^16.14.0", "slash": "^5.0.0" diff --git a/code/lib/preview-api/src/modules/addons/hooks.ts b/code/lib/preview-api/src/modules/addons/hooks.ts index e695938a444d..e7a747d571f1 100644 --- a/code/lib/preview-api/src/modules/addons/hooks.ts +++ b/code/lib/preview-api/src/modules/addons/hooks.ts @@ -70,7 +70,7 @@ export class HooksContext init() { this.hookListsMap = new WeakMap(); this.mountedDecorators = new Set(); - this.prevMountedDecorators = this.mountedDecorators; + this.prevMountedDecorators = new Set(); this.currentHooks = []; this.nextHookIndex = 0; this.currentPhase = 'NONE'; @@ -191,7 +191,7 @@ export const applyHooks = ); return (context) => { const { hooks } = context as { hooks: HooksContext }; - hooks.prevMountedDecorators = hooks.mountedDecorators; + hooks.prevMountedDecorators ??= new Set(); hooks.mountedDecorators = new Set([storyFn, ...decorators]); hooks.currentContext = context; hooks.hasUpdates = false; @@ -299,11 +299,36 @@ function useMemoLike(name: string, nextCreate: () => T, deps: any[] | undefin return memoizedState; } -/* Returns a memoized value, see https://reactjs.org/docs/hooks-reference.html#usememo */ +/** + * Returns a memoized value. + * @template T The type of the memoized value. + * @param {() => T} nextCreate A function that returns the memoized value. + * @param {any[]} [deps] An optional array of dependencies. If any of the dependencies change, the memoized value will be recomputed. + * @returns {T} The memoized value. + * @example + * const memoizedValue = useMemo(() => { + * return doExpensiveCalculation(a, b); + * }, [a, b]); + */ export function useMemo(nextCreate: () => T, deps?: any[]): T { return useMemoLike('useMemo', nextCreate, deps); } +/** Returns a memoized callback. + * + * @template T The type of the callback function. + * @param {T} callback The callback function to memoize. + * @param {any[]} [deps] An optional array of dependencies. If any of the dependencies change, the memoized callback will be recomputed. + * @returns {T} The memoized callback. + * + * @example + * const memoizedCallback = useCallback( + * () => { + * doSomething(a, b); + * }, + * [a, b], + * ); + */ /* Returns a memoized callback, see https://reactjs.org/docs/hooks-reference.html#usecallback */ export function useCallback(callback: T, deps?: any[]): T { return useMemoLike('useCallback', () => callback, deps); @@ -313,6 +338,17 @@ function useRefLike(name: string, initialValue: T): { current: T } { return useMemoLike(name, () => ({ current: initialValue }), []); } +/** + * Returns a mutable ref object. + * + * @template T The type of the ref object. + * @param {T} initialValue The initial value of the ref object. + * @returns {{ current: T }} The mutable ref object. + * + * @example + * const ref = useRef(0); + * ref.current = 1; + */ /* Returns a mutable ref object, see https://reactjs.org/docs/hooks-reference.html#useref */ export function useRef(initialValue: T): { current: T } { return useRefLike('useRef', initialValue); @@ -349,14 +385,58 @@ function useStateLike( return [stateRef.current, setState]; } -/* Returns a stateful value, and a function to update it, see https://reactjs.org/docs/hooks-reference.html#usestate */ +/** + * Returns a stateful value and a function to update it. + * + * @template S The type of the state. + * @param {(() => S) | S} initialState The initial state value or a function that returns the initial state value. + * @returns {[S, (update: ((prevState: S) => S) | S) => void]} An array containing the current state value and a function to update it. + * + * @example + * const [count, setCount] = useState(0); + * setCount(count + 1); + */ export function useState( initialState: (() => S) | S ): [S, (update: ((prevState: S) => S) | S) => void] { return useStateLike('useState', initialState); } -/* A redux-like alternative to useState, see https://reactjs.org/docs/hooks-reference.html#usereducer */ +/** + * A redux-like alternative to useState. + * + * @template S The type of the state. + * @template A The type of the action. + * @param {(state: S, action: A) => S} reducer The reducer function that returns the new state. + * @param {S | I} initialArg The initial state value or the initial argument for the init function. + * @param {(initialArg: I) => S} [init] An optional function that returns the initial state value. + * @returns {[S, (action: A) => void]} An array containing the current state value and a function to dispatch actions. + * + * @example + * const initialState = { count: 0 }; + * + * function reducer(state, action) { + * switch (action.type) { + * case 'increment': + * return { count: state.count + 1 }; + * case 'decrement': + * return { count: state.count - 1 }; + * default: + * throw new Error(); + * } + * } + * + * function Counter() { + * const [state, dispatch] = useReducer(reducer, initialState); + * return ( + * <> + * Count: {state.count} + * + * + * + * ); + * } + */ export function useReducer( reducer: (state: S, action: A) => S, initialState: S @@ -377,10 +457,22 @@ export function useReducer( return [state, dispatch]; } -/* - Triggers a side effect, see https://reactjs.org/docs/hooks-reference.html#usestate - Effects are triggered synchronously after rendering the story -*/ +/** + * Triggers a side effect, see https://reactjs.org/docs/hooks-reference.html#usestate + * Effects are triggered synchronously after rendering the story + * + * @param {() => (() => void) | void} create A function that creates the effect. It should return a cleanup function, or nothing. + * @param {any[]} [deps] An optional array of dependencies. If any of the dependencies change, the effect will be re-run. + * @returns {void} + * + * @example + * useEffect(() => { + * // Do something after rendering the story + * return () => { + * // Do something when the component unmounts or the effect is re-run + * }; + * }, [dependency1, dependency2]); + */ export function useEffect(create: () => (() => void) | void, deps?: any[]): void { const hooks = getHooksContextOrThrow(); const effect = useMemoLike('useEffect', () => ({ create }), deps); @@ -397,7 +489,18 @@ export interface EventMap { [eventId: string]: Listener; } -/* Accepts a map of Storybook channel event listeners, returns an emit function */ +/** + * Subscribes to events emitted by the Storybook channel and returns a function to emit events. + * + * @param {EventMap} eventMap A map of event listeners to subscribe to. + * @param {any[]} [deps=[]] An optional array of dependencies. If any of the dependencies change, the event listeners will be re-subscribed. + * @returns {(...args: any[]) => void} A function to emit events to the Storybook channel. + * + * @example + * // Subscribe to an event and emit it + * const emit = useChannel({ 'my-event': (arg1, arg2) => console.log(arg1, arg2) }); + * emit('my-event', 'Hello', 'world!'); + */ export function useChannel(eventMap: EventMap, deps: any[] = []) { const channel = addons.getChannel(); @@ -413,7 +516,18 @@ export function useChannel(eventMap: EventMap, deps: any[] = []) { return useCallback(channel.emit.bind(channel), [channel]); } -/* Returns current story context */ +/** + * Returns the current story context, including the story's ID, parameters, and other metadata. + * + * @template TRenderer The type of the story's renderer. + * @template TArgs The type of the story's args. + * @returns {StoryContext} The current story context. + * + * @example + * const { id, parameters } = useStoryContext(); + * console.log(`Current story ID: ${id}`); + * console.log(`Current story parameters: ${JSON.stringify(parameters)}`); + */ export function useStoryContext< TRenderer extends Renderer, TArgs extends Args = Args @@ -426,7 +540,19 @@ export function useStoryContext< return currentContext; } -/* Returns current value of a story parameter */ +/** + * Returns the value of a specific parameter for the current story, or a default value if the parameter is not set. + * + * @template S The type of the parameter value. + * @param {string} parameterKey The key of the parameter to retrieve. + * @param {S} [defaultValue] An optional default value to return if the parameter is not set. + * @returns {S | undefined} The value of the parameter, or the default value if the parameter is not set. + * + * @example + * // Retrieve the value of a parameter named "myParam" + * const myParamValue = useParameter('myParam', 'default value'); + * console.log(`The value of myParam is: ${myParamValue}`); + */ export function useParameter(parameterKey: string, defaultValue?: S): S | undefined { const { parameters } = useStoryContext(); if (parameterKey) { @@ -435,7 +561,18 @@ export function useParameter(parameterKey: string, defaultValue?: S): S | und return undefined; } -/* Returns current value of story args */ +/** + * Returns the current args for the story, and functions to update and reset them. + * + * @template TArgs The type of the story's args. + * @returns {[TArgs, (newArgs: Partial) => void, (argNames?: (keyof TArgs)[]) => void]} An array containing the current args, a function to update them, and a function to reset them. + * + * @example + * const [args, updateArgs, resetArgs] = useArgs<{ name: string, age: number }>(); + * console.log(`Current args: ${JSON.stringify(args)}`); + * updateArgs({ name: 'John' }); + * resetArgs(['name']); + */ export function useArgs(): [ TArgs, (newArgs: Partial) => void, @@ -457,7 +594,16 @@ export function useArgs(): [ return [args as TArgs, updateArgs, resetArgs]; } -/* Returns current value of global args */ +/** + * Returns the current global args for the story, and a function to update them. + * + * @returns {[Args, (newGlobals: Args) => void]} An array containing the current global args, and a function to update them. + * + * @example + * const [globals, updateGlobals] = useGlobals(); + * console.log(`Current globals: ${JSON.stringify(globals)}`); + * updateGlobals({ theme: 'dark' }); + */ export function useGlobals(): [Args, (newGlobals: Args) => void] { const channel = addons.getChannel(); const { globals } = useStoryContext(); diff --git a/code/lib/preview-api/src/modules/addons/make-decorator.ts b/code/lib/preview-api/src/modules/addons/make-decorator.ts index 8735eeda006f..7dc23881fcae 100644 --- a/code/lib/preview-api/src/modules/addons/make-decorator.ts +++ b/code/lib/preview-api/src/modules/addons/make-decorator.ts @@ -9,6 +9,28 @@ export interface MakeDecoratorOptions { wrapper: Addon_StoryWrapper; } +/** + * Creates a Storybook decorator function that can be used to wrap stories with additional functionality. + * + * @param {MakeDecoratorOptions} options - The options for the decorator. + * @param {string} options.name - The name of the decorator. + * @param {string} options.parameterName - The name of the parameter that will be used to pass options to the decorator. + * @param {Addon_StoryWrapper} options.wrapper - The function that will be used to wrap the story. + * @param {boolean} [options.skipIfNoParametersOrOptions=false] - Whether to skip the decorator if no options or parameters are provided. + * @returns {MakeDecoratorResult} A function that can be used as a Storybook decorator. + * + * @example + * const myDecorator = makeDecorator({ + * name: 'My Decorator', + * parameterName: 'myDecorator', + * wrapper: (storyFn, context, { options }) => { + * const { myOption } = options; + * return
{storyFn()}
; + * }, + * }); + * + * export const decorators = [myDecorator]; + */ export const makeDecorator = ({ name, parameterName, diff --git a/code/lib/preview-api/src/modules/core-client/start.ts b/code/lib/preview-api/src/modules/core-client/start.ts index 8e6f1529fa77..b27f64e48799 100644 --- a/code/lib/preview-api/src/modules/core-client/start.ts +++ b/code/lib/preview-api/src/modules/core-client/start.ts @@ -17,26 +17,63 @@ const removedApi = (name: string) => () => { }; interface CoreClient_RendererImplementation { + /** + * A function that applies decorators to a story. + * @template TRenderer The type of renderer used by the Storybook client API. + * @type {ProjectAnnotations['applyDecorators']} + */ decorateStory?: ProjectAnnotations['applyDecorators']; + /** + * A function that renders a story with args. + * @template TRenderer The type of renderer used by the Storybook client API. + * @type {ArgsStoryFn} + */ render?: ArgsStoryFn; } interface CoreClient_ClientAPIFacade { - /* deprecated */ + /** + * The old way of adding stories at runtime. + * @deprecated This method is deprecated and will be removed in a future version. + */ storiesOf: (...args: any[]) => never; - /* deprecated */ + /** + * The old way of retrieving the list of stories at runtime. + * @deprecated This method is deprecated and will be removed in a future version. + */ raw: (...args: any[]) => never; } interface CoreClient_StartReturnValue { - /* deprecated */ + /** + * Forces a re-render of all stories in the Storybook preview. + * This function emits the `FORCE_RE_RENDER` event to the Storybook channel. + * @deprecated This method is deprecated and will be removed in a future version. + * @returns {void} + */ forceReRender: () => void; - /* deprecated */ + /** + * The old way of setting up storybook with runtime configuration. + * @deprecated This method is deprecated and will be removed in a future version. + * @returns {void} + */ configure: any; - /* deprecated */ + /** + * @deprecated This property is deprecated and will be removed in a future version. + * @type {ClientApi | CoreClient_ClientAPIFacade} + */ clientApi: ClientApi | CoreClient_ClientAPIFacade; } +/** + * Initializes the Storybook preview API. + * @template TRenderer The type of renderer used by the Storybook client API. + * @param {ProjectAnnotations['renderToCanvas']} renderToCanvas A function that renders a story to a canvas. + * @param {CoreClient_RendererImplementation} [options] Optional configuration options for the renderer implementation. + * @param {ProjectAnnotations['applyDecorators']} [options.decorateStory] A function that applies decorators to a story. + * @param {ArgsStoryFn} [options.render] A function that renders a story with arguments. + * @returns {CoreClient_StartReturnValue} An object containing functions and objects related to the Storybook preview API. + */ export function start( renderToCanvas: ProjectAnnotations['renderToCanvas'], { decorateStory, render }: CoreClient_RendererImplementation = {} diff --git a/code/lib/preview-api/src/modules/store/hooks.test.ts b/code/lib/preview-api/src/modules/store/hooks.test.ts index bbd72f95b0a5..655a41249b4f 100644 --- a/code/lib/preview-api/src/modules/store/hooks.test.ts +++ b/code/lib/preview-api/src/modules/store/hooks.test.ts @@ -147,6 +147,25 @@ describe('Preview hooks', () => { run(story, [decorator]); expect(effect).toHaveBeenCalledTimes(1); }); + it('handles decorator conditionally rendering the story', () => { + const effect = jest.fn(); + const story = () => { + useEffect(effect, []); + }; + const decorator = (storyFn: any) => { + const [counter, setCounter] = useState(0); + useEffect(() => { + setCounter((prevCounter) => prevCounter + 1); + }, [counter]); + if (counter % 2 === 1) storyFn(); + return 'placeholder while waiting'; + }; + run(story, [decorator]); + run(story, [decorator]); + run(story, [decorator]); + run(story, [decorator]); + expect(effect).toHaveBeenCalledTimes(2); + }); it('retriggers the effect if some of the deps are changed', () => { const effect = jest.fn(); let counter = 0; diff --git a/code/lib/preview-api/src/modules/store/hooks.ts b/code/lib/preview-api/src/modules/store/hooks.ts index 0fee97ba8893..29762cec575a 100644 --- a/code/lib/preview-api/src/modules/store/hooks.ts +++ b/code/lib/preview-api/src/modules/store/hooks.ts @@ -33,6 +33,17 @@ export { useGlobals, }; +/** + * @param {string} sharedId - The ID of the shared state. + * @param {S} [defaultState] - The default state of the shared state. + * @deprecated This API might get dropped, if you are using this, please file an issue. + * @returns {[S, (s: S) => void]} - A tuple containing the current state and a function to update the state. + * @example + * const [state, setState] = useSharedState('my-addon', { count: 0 }); + * console.log(state); // { count: 0 } + * setState({ count: 1 }); + * console.log(state); // { count: 1 } + */ export function useSharedState(sharedId: string, defaultState?: S): [S, (s: S) => void] { const channel = addons.getChannel(); @@ -69,6 +80,17 @@ export function useSharedState(sharedId: string, defaultState?: S): [S, (s: S ]; } +/** + * @param {string} sharedId - The ID of the shared state. + * @param {S} [defaultState] - The default state of the shared state. + * @deprecated This API might get dropped, if you are using this, please file an issue. + * @returns {[S, (s: S) => void]} - A tuple containing the current state and a function to update the state. + * @example + * const [state, setState] = useSharedState('my-addon', { count: 0 }); + * console.log(state); // { count: 0 } + * setState({ count: 1 }); + * console.log(state); // { count: 1 } + */ export function useAddonState(addonId: string, defaultState?: S): [S, (s: S) => void] { return useSharedState(addonId, defaultState); } diff --git a/code/lib/preview-api/template/stories/decorators.stories.ts b/code/lib/preview-api/template/stories/decorators.stories.ts index 1e07554ad9e3..a36eb100a739 100644 --- a/code/lib/preview-api/template/stories/decorators.stories.ts +++ b/code/lib/preview-api/template/stories/decorators.stories.ts @@ -1,7 +1,14 @@ import { global as globalThis } from '@storybook/global'; -import type { PartialStoryFn, PlayFunctionContext, StoryContext } from '@storybook/types'; +import type { + ArgsStoryFn, + PartialStoryFn, + PlayFunctionContext, + StoryContext, +} from '@storybook/types'; import { within } from '@storybook/testing-library'; import { expect } from '@storybook/jest'; +import { useEffect } from '@storybook/preview-api'; +import { STORY_ARGS_UPDATED, UPDATE_STORY_ARGS, RESET_STORY_ARGS } from '@storybook/core-events'; export default { component: globalThis.Components.Pre, @@ -25,3 +32,35 @@ export const Inheritance = { await expect(canvas.getByTestId('pre').innerText).toEqual('story component project starting'); }, }; + +// NOTE this story is currently broken in Chromatic for both Vue2/Vue3 +// Issue: https://github.com/storybookjs/storybook/issues/22945 +export const Hooks = { + decorators: [ + // decorator that uses hooks + (storyFn: PartialStoryFn, context: StoryContext) => { + useEffect(() => {}); + return storyFn({ args: { ...context.args, text: `story ${context.args['text']}` } }); + }, + // conditional decorator, runs before the above + (storyFn: PartialStoryFn, context: StoryContext) => + context.args.condition + ? storyFn() + : (context.originalStoryFn as ArgsStoryFn)(context.args, context), + ], + args: { + text: 'text', + condition: true, + }, + play: async ({ id, args }: PlayFunctionContext) => { + const channel = globalThis.__STORYBOOK_ADDONS_CHANNEL__; + await channel.emit(RESET_STORY_ARGS, { storyId: id }); + await new Promise((resolve) => channel.once(STORY_ARGS_UPDATED, resolve)); + + await channel.emit(UPDATE_STORY_ARGS, { + storyId: id, + updatedArgs: { condition: false }, + }); + await new Promise((resolve) => channel.once(STORY_ARGS_UPDATED, resolve)); + }, +}; diff --git a/code/lib/preview/package.json b/code/lib/preview/package.json index bc03def76163..2a91a2d0f09c 100644 --- a/code/lib/preview/package.json +++ b/code/lib/preview/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preview", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -55,12 +55,12 @@ "prep": "../../../scripts/prepare/esm-bundle.ts" }, "devDependencies": { - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channel-websocket": "7.1.0-alpha.29", - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channel-websocket": "7.1.0-alpha.30", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", "typescript": "~4.9.3" }, "publishConfig": { diff --git a/code/lib/react-dom-shim/package.json b/code/lib/react-dom-shim/package.json index 472f08611435..725b3ed203f1 100644 --- a/code/lib/react-dom-shim/package.json +++ b/code/lib/react-dom-shim/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react-dom-shim", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "", "keywords": [ "storybook" @@ -53,7 +53,7 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "devDependencies": { - "@storybook/types": "7.1.0-alpha.29", + "@storybook/types": "7.1.0-alpha.30", "typescript": "~4.9.3" }, "peerDependencies": { diff --git a/code/lib/router/package.json b/code/lib/router/package.json index a3510ffd7437..00ce5a2b7692 100644 --- a/code/lib/router/package.json +++ b/code/lib/router/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/router", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook Router", "keywords": [ "storybook" @@ -48,7 +48,7 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, diff --git a/code/lib/source-loader/package.json b/code/lib/source-loader/package.json index c800819dc0a7..f3d1446b6ced 100644 --- a/code/lib/source-loader/package.json +++ b/code/lib/source-loader/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/source-loader", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Source loader", "keywords": [ "lib", @@ -45,13 +45,13 @@ }, "dependencies": { "@storybook/csf": "^0.1.0", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/types": "7.1.0-alpha.30", "estraverse": "^5.2.0", "lodash": "^4.17.21", "prettier": "^2.8.0" }, "devDependencies": { - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "typescript": "~4.9.3" }, "peerDependencies": { diff --git a/code/lib/telemetry/package.json b/code/lib/telemetry/package.json index 85182bdb0037..92a0176b827a 100644 --- a/code/lib/telemetry/package.json +++ b/code/lib/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/telemetry", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Telemetry logging for crash reports and usage statistics", "keywords": [ "storybook" @@ -43,17 +43,17 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-common": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-common": "7.1.0-alpha.30", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", "fs-extra": "^11.1.0", - "isomorphic-unfetch": "^3.1.0", "nanoid": "^3.3.1", "read-pkg-up": "^7.0.1" }, "devDependencies": { + "node-fetch": "^3.3.1", "typescript": "~4.9.3" }, "publishConfig": { diff --git a/code/lib/telemetry/src/storybook-metadata.test.ts b/code/lib/telemetry/src/storybook-metadata.test.ts index 609cee560c14..1df998adbb5e 100644 --- a/code/lib/telemetry/src/storybook-metadata.test.ts +++ b/code/lib/telemetry/src/storybook-metadata.test.ts @@ -151,7 +151,7 @@ describe('await computeStorybookMetadata', () => { '@storybook/addon-knobs': 'x.x.y', 'storybook-addon-deprecated': 'x.x.z', }, - }, + } as PackageJson, mainConfig: { ...mainJsMock, addons: [ @@ -242,7 +242,7 @@ describe('await computeStorybookMetadata', () => { dependencies: { [metaFramework]: 'x.x.x', }, - }, + } as PackageJson, mainConfig: mainJsMock, }); expect(res.metaFramework).toEqual({ diff --git a/code/lib/telemetry/src/telemetry.test.ts b/code/lib/telemetry/src/telemetry.test.ts index 5a45a53eb4c4..3c58187785df 100644 --- a/code/lib/telemetry/src/telemetry.test.ts +++ b/code/lib/telemetry/src/telemetry.test.ts @@ -1,10 +1,10 @@ /// ; -import fetch from 'isomorphic-unfetch'; +import fetch from 'node-fetch'; import { sendTelemetry } from './telemetry'; -jest.mock('isomorphic-unfetch'); +jest.mock('node-fetch'); jest.mock('./event-cache', () => { return { set: jest.fn() }; }); diff --git a/code/lib/telemetry/src/telemetry.ts b/code/lib/telemetry/src/telemetry.ts index a1ef5546db5a..090e58cf1240 100644 --- a/code/lib/telemetry/src/telemetry.ts +++ b/code/lib/telemetry/src/telemetry.ts @@ -1,4 +1,6 @@ -import originalFetch from 'isomorphic-unfetch'; +/// + +import originalFetch from 'node-fetch'; import retry from 'fetch-retry'; import { nanoid } from 'nanoid'; import type { Options, TelemetryData } from './types'; @@ -8,7 +10,7 @@ import { getSessionId } from './session-id'; const URL = process.env.STORYBOOK_TELEMETRY_URL || 'https://storybook.js.org/event-log'; -const fetch = retry(originalFetch); +const fetch = retry(originalFetch as any); let tasks: Promise[] = []; diff --git a/code/lib/telemetry/tsconfig.json b/code/lib/telemetry/tsconfig.json index a4429176e35f..7378641b0d33 100644 --- a/code/lib/telemetry/tsconfig.json +++ b/code/lib/telemetry/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "strict": true + "strict": true, + "types": ["node"] }, "include": ["src/**/*"] } diff --git a/code/lib/theming/package.json b/code/lib/theming/package.json index c0af27add940..c29ca737ce9a 100644 --- a/code/lib/theming/package.json +++ b/code/lib/theming/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/theming", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook Components", "keywords": [ "storybook" @@ -49,7 +49,7 @@ }, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, diff --git a/code/lib/types/package.json b/code/lib/types/package.json index 2fea0057efc6..9deaa6efdcb2 100644 --- a/code/lib/types/package.json +++ b/code/lib/types/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/types", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook TS Types", "keywords": [ "storybook" @@ -43,7 +43,7 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "^2.0.0" diff --git a/code/package.json b/code/package.json index 74f7a3f6d4ea..1a39ee3fba89 100644 --- a/code/package.json +++ b/code/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/root", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "private": true, "description": "Storybook root", "homepage": "https://storybook.js.org/", @@ -34,7 +34,6 @@ "danger": "danger", "generate-sandboxes": "ts-node --swc ../scripts/sandbox/generate.ts", "github-release": "github-release-from-changelog", - "linear-export": "ts-node --swc --project=../scripts/tsconfig.json ../scripts/linear-export.ts", "lint": "yarn lint:js && yarn lint:md", "lint:ejs": "ejslint **/*.ejs", "lint:js": "yarn lint:js:cmd . --quiet", @@ -80,13 +79,16 @@ "defaults" ], "resolutions": { - "@playwright/test": "1.34.3", + "@playwright/test": "1.35.0", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/experimental-utils": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", "esbuild": "^0.17.0", "eslint": "^8.28.0", - "serialize-javascript": "^3.1.0" + "playwright": "1.35.0", + "playwright-core": "1.35.0", + "serialize-javascript": "^3.1.0", + "type-fest": "^3.11.0" }, "dependencies": { "@babel/core": "^7.22.0", @@ -96,9 +98,8 @@ "@babel/runtime": "^7.20.1", "@emotion/jest": "^11.10.0", "@jest/globals": "^29.3.1", - "@linear/sdk": "^1.21.0", "@nx/workspace": "16.2.1", - "@playwright/test": "^1.34.3", + "@playwright/test": "^1.35.0", "@storybook/addon-a11y": "workspace:*", "@storybook/addon-actions": "workspace:*", "@storybook/addon-backgrounds": "workspace:*", @@ -218,7 +219,7 @@ "chromatic": "6.11.2", "concurrently": "^5.3.0", "cross-env": "^7.0.3", - "danger": "^10.6.2", + "danger": "^11.2.6", "esbuild": "^0.17.0", "esbuild-loader": "^3.0.0", "esbuild-plugin-alias": "^0.2.1", @@ -230,19 +231,19 @@ "fs-extra": "^11.1.0", "github-release-from-changelog": "^2.1.1", "glob": "^10.0.0", - "http-server": "^0.12.3", + "http-server": "^14.1.1", "husky": "^4.3.7", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "jest-image-snapshot": "^6.0.0", - "jest-junit": "^14.0.1", + "jest-junit": "^16.0.0", "jest-os-detection": "^1.3.1", "jest-serializer-html": "^7.1.0", "jest-watch-typeahead": "^2.2.1", "lerna": "^6.4.0", - "lint-staged": "^10.5.4", + "lint-staged": "^13.2.2", "lodash": "^4.17.21", - "node-gyp": "^8.4.0", + "node-gyp": "^9.3.1", "nx": "16.2.1", "nx-cloud": "16.0.5", "prettier": "2.8.0", @@ -258,7 +259,7 @@ "util": "^0.12.4", "vite": "^4.0.0", "vite-plugin-turbosnap": "^1.0.1", - "wait-on": "^5.2.1" + "wait-on": "^7.0.1" }, "dependenciesMeta": { "ejs": { @@ -324,10 +325,6 @@ [ "dependencies", "Dependency Upgrades" - ], - [ - "other", - "Other" ] ] } diff --git a/code/presets/create-react-app/package.json b/code/presets/create-react-app/package.json index 1ddbb640b8fe..2b0becf221fb 100644 --- a/code/presets/create-react-app/package.json +++ b/code/presets/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-create-react-app", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Create React App preset", "keywords": [ "storybook" @@ -50,14 +50,14 @@ "dependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1", "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/types": "7.1.0-alpha.30", "@types/babel__core": "^7.1.7", "babel-plugin-react-docgen": "^4.1.0", "pnp-webpack-plugin": "^1.7.0", "semver": "^7.3.5" }, "devDependencies": { - "@storybook/node-logger": "7.1.0-alpha.29", + "@storybook/node-logger": "7.1.0-alpha.30", "@types/node": "^16.0.0", "typescript": "~4.9.3" }, diff --git a/code/presets/html-webpack/package.json b/code/presets/html-webpack/package.json index 4a4bd02047df..383de337b265 100644 --- a/code/presets/html-webpack/package.json +++ b/code/presets/html-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-html-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -48,7 +48,7 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", "@types/node": "^16.0.0", "html-loader": "^3.1.0", "webpack": "5" diff --git a/code/presets/preact-webpack/package.json b/code/presets/preact-webpack/package.json index 7e0f83f06722..a46bc8730592 100644 --- a/code/presets/preact-webpack/package.json +++ b/code/presets/preact-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-preact-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Preact: Develop Preact Component in isolation.", "keywords": [ "storybook" @@ -50,7 +50,7 @@ "dependencies": { "@babel/plugin-transform-react-jsx": "^7.21.0", "@babel/preset-typescript": "^7.21.0", - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", "@types/node": "^16.0.0" }, "devDependencies": { diff --git a/code/presets/react-webpack/package.json b/code/presets/react-webpack/package.json index 25ed020228be..9d3922b66beb 100644 --- a/code/presets/react-webpack/package.json +++ b/code/presets/react-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-react-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for React: Develop React Component in isolation with Hot Reloading", "keywords": [ "storybook" @@ -66,10 +66,10 @@ "@babel/preset-flow": "^7.21.0", "@babel/preset-react": "^7.22.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", - "@storybook/core-webpack": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", - "@storybook/react": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", + "@storybook/react": "7.1.0-alpha.30", "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", "@types/node": "^16.0.0", "@types/semver": "^7.3.4", diff --git a/code/presets/server-webpack/package.json b/code/presets/server-webpack/package.json index e85abd073c8b..85ba0113087d 100644 --- a/code/presets/server-webpack/package.json +++ b/code/presets/server-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-server-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -53,10 +53,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-server": "7.1.0-alpha.29", - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/core-server": "7.1.0-alpha.30", + "@storybook/core-webpack": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/server": "7.1.0-alpha.29", + "@storybook/server": "7.1.0-alpha.30", "@types/node": "^16.0.0", "safe-identifier": "^0.4.1", "ts-dedent": "^2.0.0", @@ -64,9 +64,9 @@ }, "devDependencies": { "fs-extra": "^11.1.0", - "jest-specific-snapshot": "^7.0.0", + "jest-specific-snapshot": "^8.0.0", "typescript": "~4.9.3", - "yaml": "^1.10.0" + "yaml": "^2.3.1" }, "engines": { "node": ">=16.0.0" diff --git a/code/presets/svelte-webpack/package.json b/code/presets/svelte-webpack/package.json index 0135200f185b..ec96ca6cc6af 100644 --- a/code/presets/svelte-webpack/package.json +++ b/code/presets/svelte-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-svelte-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -63,8 +63,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-webpack": "7.1.0-alpha.29", - "@storybook/node-logger": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", + "@storybook/node-logger": "7.1.0-alpha.30", "sveltedoc-parser": "^4.2.1", "ts-dedent": "^2.0.0" }, diff --git a/code/presets/vue-webpack/package.json b/code/presets/vue-webpack/package.json index a373ec49e504..1de12b7418dd 100644 --- a/code/presets/vue-webpack/package.json +++ b/code/presets/vue-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-vue-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -58,8 +58,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-webpack": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@types/node": "^16.0.0", "ts-loader": "^9.2.8", "vue-docgen-api": "^4.44.23", diff --git a/code/presets/vue3-webpack/package.json b/code/presets/vue3-webpack/package.json index ae6d88b32070..36b291e0c7f1 100644 --- a/code/presets/vue3-webpack/package.json +++ b/code/presets/vue3-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-vue3-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -58,8 +58,8 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-webpack": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@types/node": "^16.0.0", "ts-loader": "^9.2.8", "vue-docgen-api": "^4.46.0", diff --git a/code/presets/web-components-webpack/package.json b/code/presets/web-components-webpack/package.json index 99d90f8342ee..6d107a54341c 100644 --- a/code/presets/web-components-webpack/package.json +++ b/code/presets/web-components-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preset-web-components-webpack", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook for web-components: View web components snippets in isolation with Hot Reloading.", "keywords": [ "lit", @@ -54,7 +54,7 @@ "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/preset-env": "^7.22.0", - "@storybook/core-webpack": "7.1.0-alpha.29", + "@storybook/core-webpack": "7.1.0-alpha.30", "@types/node": "^16.0.0", "babel-loader": "^7.0.0 || ^8.0.0 || ^9.0.0", "babel-plugin-bundled-import-meta": "^0.3.1" diff --git a/code/renderers/html/package.json b/code/renderers/html/package.json index 2f16e98034dd..eb2a2f5598f7 100644 --- a/code/renderers/html/package.json +++ b/code/renderers/html/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/html", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook HTML renderer", "keywords": [ "storybook" @@ -48,11 +48,11 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0" }, "devDependencies": { diff --git a/code/renderers/preact/package.json b/code/renderers/preact/package.json index 7c75d52aa2ab..26471430ec31 100644 --- a/code/renderers/preact/package.json +++ b/code/renderers/preact/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preact", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Preact renderer", "keywords": [ "storybook" @@ -48,10 +48,10 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-client": "7.1.0-alpha.29", + "@storybook/core-client": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0" }, "devDependencies": { diff --git a/code/renderers/react/package.json b/code/renderers/react/package.json index 7faf871af073..9ad856f6ca4a 100644 --- a/code/renderers/react/package.json +++ b/code/renderers/react/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook React renderer", "keywords": [ "storybook" @@ -52,13 +52,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/react-dom-shim": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/react-dom-shim": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^16.0.0", @@ -71,14 +71,14 @@ "prop-types": "^15.7.2", "react-element-to-jsx-string": "^15.0.0", "ts-dedent": "^2.0.0", - "type-fest": "^2.19.0", + "type-fest": "^3.11.0", "util-deprecate": "^1.0.2" }, "devDependencies": { "@babel/core": "^7.22.0", "@types/util-deprecate": "^1.0.0", - "expect-type": "^0.14.2", - "jest-specific-snapshot": "^7.0.0", + "expect-type": "^0.15.0", + "jest-specific-snapshot": "^8.0.0", "require-from-string": "^2.0.2", "typescript": "~4.9.3" }, diff --git a/code/renderers/server/package.json b/code/renderers/server/package.json index cd220aea1f3a..307d177b5d4f 100644 --- a/code/renderers/server/package.json +++ b/code/renderers/server/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/server", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Server renderer", "keywords": [ "storybook" @@ -53,12 +53,12 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-client": "7.1.0-alpha.29", + "@storybook/core-client": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-alpha.29", + "@storybook/csf-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/fs-extra": "^11.0.1", "fs-extra": "^11.1.0", "ts-dedent": "^2.0.0", diff --git a/code/renderers/svelte/package.json b/code/renderers/svelte/package.json index 9db5ffcb63f4..afb708d395fa 100644 --- a/code/renderers/svelte/package.json +++ b/code/renderers/svelte/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/svelte", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Svelte renderer", "keywords": [ "storybook" @@ -52,18 +52,18 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "sveltedoc-parser": "^4.2.1", - "type-fest": "2.19.0" + "type-fest": "^3.11.0" }, "devDependencies": { - "expect-type": "^0.14.2", + "expect-type": "^0.15.0", "svelte": "^3.59.1", "svelte-check": "^3.4.3", "typescript": "^5.0.4" diff --git a/code/renderers/vue/package.json b/code/renderers/vue/package.json index f6ded8506842..8e512e0934a2 100644 --- a/code/renderers/vue/package.json +++ b/code/renderers/vue/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Vue renderer", "keywords": [ "storybook" @@ -48,14 +48,14 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0", - "type-fest": "2.19.0" + "type-fest": "^3.11.0" }, "devDependencies": { "typescript": "~4.9.3", diff --git a/code/renderers/vue3/package.json b/code/renderers/vue3/package.json index 9f7aa7539f85..c92fd18e35e6 100644 --- a/code/renderers/vue3/package.json +++ b/code/renderers/vue3/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue3", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Vue 3 renderer", "keywords": [ "storybook" @@ -48,13 +48,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "ts-dedent": "^2.0.0", - "type-fest": "2.19.0", + "type-fest": "^3.11.0", "vue-component-type-helpers": "^1.6.5" }, "devDependencies": { diff --git a/code/renderers/vue3/src/docs/sourceDecorator.test.ts b/code/renderers/vue3/src/docs/sourceDecorator.test.ts index d3189e9eb767..ec59ae61c9b3 100644 --- a/code/renderers/vue3/src/docs/sourceDecorator.test.ts +++ b/code/renderers/vue3/src/docs/sourceDecorator.test.ts @@ -1,95 +1,300 @@ import { describe, expect, test } from '@jest/globals'; -import type { Args } from '@storybook/types'; -import { generateSource } from './sourceDecorator'; + +import { + mapAttributesAndDirectives, + generateAttributesSource, + attributeSource, + htmlEventAttributeToVueEventAttribute as htmlEventToVueEvent, +} from './sourceDecorator'; expect.addSnapshotSerializer({ print: (val: any) => val, test: (val: unknown) => typeof val === 'string', }); -function generateArgTypes(args: Args, slotProps: string[] | undefined) { - return Object.keys(args).reduce((acc, prop) => { - acc[prop] = { table: { category: slotProps?.includes(prop) ? 'slots' : 'props' } }; - return acc; - }, {} as Record); -} -function generateForArgs(args: Args, slotProps: string[] | undefined = undefined) { - return generateSource({ name: 'Component' }, args, generateArgTypes(args, slotProps), true); -} -function generateMultiComponentForArgs(args: Args, slotProps: string[] | undefined = undefined) { - return generateSource( - [{ name: 'Component' }, { name: 'Component' }], - args, - generateArgTypes(args, slotProps), - true - ); -} -describe('generateSource Vue3', () => { - test('boolean true', () => { - expect(generateForArgs({ booleanProp: true })).toMatchInlineSnapshot( - `` - ); +describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { + test('camelCase boolean Arg', () => { + expect(mapAttributesAndDirectives({ camelCaseBooleanArg: true })).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: camel-case-boolean-arg, + loc: Object { + source: camel-case-boolean-arg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: true, + }, + }, + loc: Object { + source: :camel-case-boolean-arg="true", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('boolean false', () => { - expect(generateForArgs({ booleanProp: false })).toMatchInlineSnapshot( - `` - ); + test('camelCase string Arg', () => { + expect(mapAttributesAndDirectives({ camelCaseStringArg: 'foo' })).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: camel-case-string-arg, + loc: Object { + source: camel-case-string-arg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: foo, + }, + }, + loc: Object { + source: camel-case-string-arg="foo", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('null property', () => { - expect(generateForArgs({ nullProp: null })).toMatchInlineSnapshot( - `` - ); + test('boolean arg', () => { + expect(mapAttributesAndDirectives({ booleanarg: true })).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: booleanarg, + loc: Object { + source: booleanarg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: true, + }, + }, + loc: Object { + source: :booleanarg="true", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('string property', () => { - expect(generateForArgs({ stringProp: 'mystr' })).toMatchInlineSnapshot( - `` - ); + test('string arg', () => { + expect(mapAttributesAndDirectives({ stringarg: 'bar' })).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: stringarg, + loc: Object { + source: stringarg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: bar, + }, + }, + loc: Object { + source: stringarg="bar", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('number property', () => { - expect(generateForArgs({ numberProp: 42 })).toMatchInlineSnapshot( - `` - ); + test('number arg', () => { + expect(mapAttributesAndDirectives({ numberarg: 2023 })).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: numberarg, + loc: Object { + source: numberarg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: 2023, + }, + }, + loc: Object { + source: :numberarg="2023", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('object property', () => { - expect(generateForArgs({ objProp: { x: true } })).toMatchInlineSnapshot( - `` - ); + test('camelCase boolean, string, and number Args', () => { + expect( + mapAttributesAndDirectives({ + camelCaseBooleanArg: true, + camelCaseStringArg: 'foo', + cameCaseNumberArg: 2023, + }) + ).toMatchInlineSnapshot(` + Array [ + Object { + arg: Object { + content: camel-case-boolean-arg, + loc: Object { + source: camel-case-boolean-arg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: true, + }, + }, + loc: Object { + source: :camel-case-boolean-arg="true", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + Object { + arg: Object { + content: camel-case-string-arg, + loc: Object { + source: camel-case-string-arg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: foo, + }, + }, + loc: Object { + source: camel-case-string-arg="foo", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + Object { + arg: Object { + content: came-case-number-arg, + loc: Object { + source: came-case-number-arg, + }, + }, + exp: Object { + isStatic: false, + loc: Object { + source: 2023, + }, + }, + loc: Object { + source: :came-case-number-arg="2023", + }, + modifiers: Array [ + , + ], + name: bind, + type: 6, + }, + ] + `); }); - test('multiple properties', () => { - expect(generateForArgs({ a: 1, b: 2 })).toMatchInlineSnapshot(``); +}); + +describe('Vue3: sourceDecorator->generateAttributesSource()', () => { + test('camelCase boolean Arg', () => { + expect( + generateAttributesSource( + mapAttributesAndDirectives({ camelCaseBooleanArg: true }), + { camelCaseBooleanArg: true }, + [{ camelCaseBooleanArg: { type: 'boolean' } }] as any + ) + ).toMatchInlineSnapshot(`:camel-case-boolean-arg="true"`); }); - test('1 slot property', () => { - expect(generateForArgs({ content: 'xyz', myProp: 'abc' }, ['content'])).toMatchInlineSnapshot(` - - {{ content }} - - `); + test('camelCase string Arg', () => { + expect( + generateAttributesSource( + mapAttributesAndDirectives({ camelCaseStringArg: 'foo' }), + { camelCaseStringArg: 'foo' }, + [{ camelCaseStringArg: { type: 'string' } }] as any + ) + ).toMatchInlineSnapshot(`camel-case-string-arg="foo"`); }); - test('multiple slot property with second slot value not set', () => { - expect(generateForArgs({ content: 'xyz', myProp: 'abc' }, ['content', 'footer'])) - .toMatchInlineSnapshot(` - - {{ content }} - - `); + + test('camelCase boolean, string, and number Args', () => { + expect( + generateAttributesSource( + mapAttributesAndDirectives({ + camelCaseBooleanArg: true, + camelCaseStringArg: 'foo', + cameCaseNumberArg: 2023, + }), + { + camelCaseBooleanArg: true, + camelCaseStringArg: 'foo', + cameCaseNumberArg: 2023, + }, + [] as any + ) + ).toMatchInlineSnapshot( + `:camel-case-boolean-arg="true" camel-case-string-arg="foo" :came-case-number-arg="2023"` + ); }); - test('multiple slot property with second slot value is set', () => { - expect(generateForArgs({ content: 'xyz', footer: 'foo', myProp: 'abc' }, ['content', 'footer'])) - .toMatchInlineSnapshot(` - - - - - `); +}); + +describe('Vue3: sourceDecorator->attributeSoure()', () => { + test('camelCase boolean Arg', () => { + expect(attributeSource('stringArg', 'foo')).toMatchInlineSnapshot(`stringArg="foo"`); }); - // test mutil components - test('multi component with boolean true', () => { - expect(generateMultiComponentForArgs({ booleanProp: true })).toMatchInlineSnapshot(` - - - `); + + test('html event attribute should convert to vue event directive', () => { + expect(attributeSource('onClick', () => {})).toMatchInlineSnapshot(`v-on:click='()=>({})'`); + expect(attributeSource('onclick', () => {})).toMatchInlineSnapshot(`v-on:click='()=>({})'`); + }); + test('normal html attribute should not convert to vue event directive', () => { + expect(attributeSource('on-click', () => {})).toMatchInlineSnapshot(`on-click='()=>({})'`); }); - test('component is not set', () => { - expect(generateSource(null, {}, {})).toBeNull(); + test('htmlEventAttributeToVueEventAttribute onEv => v-on:', () => { + const htmlEventAttributeToVueEventAttribute = (attribute: string) => { + return htmlEventToVueEvent(attribute); + }; + expect(/^on[A-Za-z]/.test('onClick')).toBeTruthy(); + expect(htmlEventAttributeToVueEventAttribute('onclick')).toMatchInlineSnapshot(`v-on:click`); + expect(htmlEventAttributeToVueEventAttribute('onClick')).toMatchInlineSnapshot(`v-on:click`); + expect(htmlEventAttributeToVueEventAttribute('onChange')).toMatchInlineSnapshot(`v-on:change`); + expect(htmlEventAttributeToVueEventAttribute('onFocus')).toMatchInlineSnapshot(`v-on:focus`); + expect(htmlEventAttributeToVueEventAttribute('on-focus')).toMatchInlineSnapshot(`on-focus`); }); }); diff --git a/code/renderers/vue3/src/docs/sourceDecorator.ts b/code/renderers/vue3/src/docs/sourceDecorator.ts index 59ac746ae027..007980f1ff14 100644 --- a/code/renderers/vue3/src/docs/sourceDecorator.ts +++ b/code/renderers/vue3/src/docs/sourceDecorator.ts @@ -1,23 +1,32 @@ +/* eslint-disable no-eval */ +/* eslint-disable import/no-extraneous-dependencies */ /* eslint-disable no-underscore-dangle */ -import { addons, useEffect } from '@storybook/preview-api'; +import { addons } from '@storybook/preview-api'; import type { ArgTypes, Args, StoryContext, Renderer } from '@storybook/types'; import { SourceType, SNIPPET_RENDERED } from '@storybook/docs-tools'; -// eslint-disable-next-line import/no-extraneous-dependencies -import parserHTML from 'prettier/parser-html'; +import type { + ElementNode, + AttributeNode, + DirectiveNode, + TextNode, + InterpolationNode, + TemplateChildNode, +} from '@vue/compiler-core'; +import { baseParse } from '@vue/compiler-core'; +import type { ConcreteComponent, FunctionalComponent, VNode } from 'vue'; +import { h, isVNode, watch } from 'vue'; +import { kebabCase } from 'lodash'; +import { + attributeSource, + htmlEventAttributeToVueEventAttribute, + omitEvent, + evalExp, + replaceValueWithRef, + generateExpression, +} from './utils'; -// eslint-disable-next-line import/no-extraneous-dependencies -import { isArray } from '@vue/shared'; -import { toRaw } from 'vue'; - -type ArgEntries = [string, any][]; -type Attribute = { - name: string; - value: string; - sourceSpan?: any; - valueSpan?: any; -} & Record; /** * Check if the sourcecode should be generated. * @@ -26,6 +35,7 @@ type Attribute = { const skipSourceRender = (context: StoryContext) => { const sourceParams = context?.parameters.docs?.source; const isArgsStory = context?.parameters.__isArgsStory; + const isDocsViewMode = context?.viewMode === 'docs'; // always render if the user forces it if (sourceParams?.type === SourceType.DYNAMIC) { @@ -34,92 +44,94 @@ const skipSourceRender = (context: StoryContext) => { // never render if the user is forcing the block to render code, or // if the user provides code, or if it's not an args story. - return !isArgsStory || sourceParams?.code || sourceParams?.type === SourceType.CODE; + return ( + !isDocsViewMode || !isArgsStory || sourceParams?.code || sourceParams?.type === SourceType.CODE + ); }; -/** - * Extract a component name. - * - * @param component Component - */ -function getComponentNameAndChildren(component: any): { - name: string | null; - children: any; - attributes: any; -} { - return { - name: component?.name || component?.__name || component?.__docgenInfo?.__name || null, - children: component?.children || null, - attributes: component?.attributes || component?.attrs || null, - }; -} /** * * @param _args * @param argTypes * @param byRef */ -function generateAttributesSource(_args: Args, argTypes: ArgTypes, byRef?: boolean): string { - // create a copy of the args object to avoid modifying the original - const args = { ...toRaw(_args) }; - // filter out keys that are children or slots, and convert event keys to the proper format - const argsKeys = Object.keys(args) - .filter( - (key: any) => - ['children', 'slots'].indexOf(argTypes[key]?.table?.category) === -1 || !argTypes[key] // remove slots and children - ) - .map((key) => { - const akey = - argTypes[key]?.table?.category !== 'events' // is event - ? key - .replace(/([A-Z])/g, '-$1') - .replace(/^on-/, 'v-on:') - .replace(/^:/, '') - .toLowerCase() - : `v-on:${key}`; - args[akey] = args[key]; - return akey; +export function generateAttributesSource( + tempArgs: (AttributeNode | DirectiveNode)[], + args: Args, + argTypes: ArgTypes, + byRef?: boolean +): string { + return Object.keys(tempArgs) + .map((key: any) => { + const source = tempArgs[key].loc.source.replace(/\$props/g, 'args'); + const argKey = (tempArgs[key] as DirectiveNode).arg?.loc.source; + return byRef && argKey + ? replaceValueWithRef(source, args, argKey) + : evalExp(source, omitEvent(args)); }) - .filter((key, index, self) => self.indexOf(key) === index); // remove duplicated keys - - const camelCase = (str: string) => str.replace(/-([a-z])/g, (g) => g[1].toUpperCase()); - const source = argsKeys - .map((key) => - generateAttributeSource( - byRef && !key.includes(':') ? `:${key}` : key, - byRef && !key.includes(':') ? camelCase(key) : args[key], - argTypes[key] - ) - ) .join(' '); - - return source; } - -function generateAttributeSource( - key: string, - value: Args[keyof Args], - argType: ArgTypes[keyof ArgTypes] -): string { - if (!value) { - return ''; - } - - if (value === true) { - return key; - } - - if (key.startsWith('v-on:')) { - return `${key}='() => {}'`; - } - - if (typeof value === 'string') { - return `${key}='${value}'`; - } - - return `:${key}='${JSON.stringify(value)}'`; +/** + * map attributes and directives + * @param props + */ +function mapAttributesAndDirectives(props: Args) { + const tranformKey = (key: string) => (key.startsWith('on') ? key : kebabCase(key)); + return Object.keys(props).map( + (key) => + ({ + name: 'bind', + type: ['v-', '@', 'v-on'].includes(key) ? 7 : 6, // 6 is attribute, 7 is directive + arg: { content: tranformKey(key), loc: { source: tranformKey(key) } }, // attribute name or directive name (v-bind, v-on, v-model) + loc: { source: attributeSource(tranformKey(key), props[key]) }, // attribute value or directive value + exp: { isStatic: false, loc: { source: props[key] } }, // directive expression + modifiers: [''], + } as unknown as AttributeNode) + ); } +/** + * map slots + * @param slotsArgs + */ +function mapSlots( + slotsArgs: Args, + generateComponentSource: any, + slots: { name: string; scoped?: boolean; bindings?: { name: string }[] }[] +): TextNode[] { + return Object.keys(slotsArgs).map((key) => { + const slot = slotsArgs[key]; + let slotContent = ''; + + const scropedArgs = slots + .find((s) => s.name === key && s.scoped) + ?.bindings?.map((b) => b.name) + .join(','); + + if (typeof slot === 'function') { + slotContent = generateExpression(slot); + } + if (isVNode(slot)) { + slotContent = generateComponentSource(slot); + } + if (typeof slot === 'object' && !isVNode(slot)) { + slotContent = JSON.stringify(slot); + } + const bindingsString = scropedArgs ? `="{${scropedArgs}}"` : ''; + slotContent = slot ? `` : ``; + + return { + type: 2, + content: slotContent, + loc: { + source: slotContent, + start: { offset: 0, line: 1, column: 0 }, + end: { offset: 0, line: 1, column: 0 }, + }, + }; + }); + // TODO: handle other cases (array, object, html,etc) +} /** * * @param args generate script setup from args @@ -137,35 +149,34 @@ function generateScriptSetup(args: Args, argTypes: ArgTypes, components: any[]): return ``; } /** - * get component templates one or more + * get template components one or more * @param renderFn */ -function getTemplates(renderFn: any): [] { +function getTemplateComponents( + renderFn: any, + context?: StoryContext +): (TemplateChildNode | VNode)[] { try { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const ast = parserHTML.parsers.vue.parse(renderFn.toString()); - let components = ast.children?.filter( - ({ name: _name = '', type: _type = '' }) => - _name && !['template', 'script', 'style', 'slot'].includes(_name) && _type === 'element' - ); - if (!isArray(components)) { - return []; - } - components = components.map( - ({ attrs: attributes = [], name: Name = '', children: Children = [] }) => { - return { - name: Name, - attrs: attributes, - children: Children, - }; - } - ); - return components; + const originalStoryFn = renderFn; + + const storyFn = originalStoryFn ? originalStoryFn(context?.args, context) : context?.component; + const story = typeof storyFn === 'function' ? storyFn() : storyFn; + + const { template } = story; + + if (!template) return [h(story, context?.args)]; + return getComponents(template); } catch (e) { - // console.error(e); + console.log('error', e); + return []; } - return []; +} + +function getComponents(template: string): (TemplateChildNode | VNode)[] { + const ast = baseParse(template); + const components = ast?.children; + if (!components) return []; + return components; } /** @@ -176,141 +187,133 @@ function getTemplates(renderFn: any): [] { * @param argTypes ArgTypes * @param slotProp Prop used to simulate a slot */ -export function generateSource( - compOrComps: any, - args: Args, - argTypes: ArgTypes, - byRef?: boolean | undefined -): string | null { - if (!compOrComps) return null; - const generateComponentSource = (component: any): string | null => { - const { name, children, attributes } = getComponentNameAndChildren(component); - if (!name) { - return ''; +export function generateTemplateSource( + componentOrNodes: (ConcreteComponent | TemplateChildNode)[] | TemplateChildNode | VNode, + { args, argTypes }: { args: Args; argTypes: ArgTypes }, + byRef = false +) { + const isElementNode = (node: any) => node && node.type === 1; + const isInterpolationNode = (node: any) => node && node.type === 5; + const isTextNode = (node: any) => node && node.type === 2; + + const generateComponentSource = ( + componentOrNode: ConcreteComponent | TemplateChildNode | VNode + ) => { + if (isElementNode(componentOrNode)) { + const { tag: name, props: attributes, children } = componentOrNode as ElementNode; + const childSources: string = + typeof children === 'string' + ? children + : children.map((child: TemplateChildNode) => generateComponentSource(child)).join(''); + const props = generateAttributesSource(attributes, args, argTypes, byRef); + + return childSources === '' + ? `<${name} ${props} />` + : `<${name} ${props}>${childSources}`; } - const argsIn = attributes ? getArgsInAttrs(args, attributes) : args; // keep only args that are in attributes - const props = generateAttributesSource(argsIn, argTypes, byRef); - const slotArgs = Object.entries(argsIn).filter( - ([arg]) => argTypes[arg]?.table?.category === 'slots' - ); - const slotProps = Object.entries(argTypes).filter( - ([arg]) => argTypes[arg]?.table?.category === 'slots' - ); - if (slotArgs && slotArgs.length > 0) { - const namedSlotContents = createNamedSlots(slotArgs, slotProps, byRef); - return `<${name} ${props}>\n${namedSlotContents}\n`; + if (isTextNode(componentOrNode)) { + const { content } = componentOrNode as TextNode; + return content; } - - if (children && children.length > 0) { - const childrenSource = children.map((child: any) => { - return generateSource( - typeof child.value === 'string' ? getTemplates(child.value) : child.value, - args, - argTypes, - byRef - ); - }); - - if (childrenSource.join('').trim() === '') return `<${name} ${props}/>`; - - const isNativeTag = - name.includes('template') || - name.match(/^[a-z]/) || - (name === 'Fragment' && !name.includes('-')); - - return `<${name} ${isNativeTag ? '' : props}>\n${childrenSource}\n`; + if (isInterpolationNode(componentOrNode)) { + const { content } = componentOrNode as InterpolationNode; + const expValue = evalExp(content.loc.source, args); + if (expValue === content.loc.source) return `{{${expValue}}}`; + return eval(expValue); + } + if (isVNode(componentOrNode)) { + const vnode = componentOrNode as VNode; + const { props, type, children } = vnode; + const slotsProps = typeof children === 'string' ? undefined : (children as Args); + const componentSlots = (type as any)?.__docgenInfo?.slots; + + const attrsProps = slotsProps + ? Object.fromEntries( + Object.entries(props ?? {}) + .filter(([key, value]) => !slotsProps[key] && !['class', 'style'].includes(key)) + .map(([key, value]) => [key, value]) + ) + : props; + const attributes = mapAttributesAndDirectives(attrsProps ?? {}); + const slotArgs = Object.fromEntries( + Object.entries(props ?? {}).filter(([key, value]) => slotsProps?.[key]) + ); + // eslint-disable-next-line no-nested-ternary + const childSources: string = children + ? typeof children === 'string' + ? children + : mapSlots(slotArgs as Args, generateComponentSource, componentSlots ?? []) + .map((child) => child.content) + .join('') + : ''; + console.log(' vnode ', vnode, ' childSources ', childSources, ' attributes ', attributes); + const name = + typeof type === 'string' + ? type + : (type as FunctionalComponent).name || + (type as ConcreteComponent).__name || + (type as any).__docgenInfo?.displayName; + const propsSource = generateAttributesSource(attributes, args, argTypes, byRef); + return childSources.trim() === '' + ? `<${name} ${propsSource}/>` + : `<${name} ${propsSource}>${childSources}`; } - return `<${name} ${props}/>`; + return null; }; - // get one component or multiple - const components = isArray(compOrComps) ? compOrComps : [compOrComps]; - - const source = Object.keys(components) - .map((key: any) => `${generateComponentSource(components[key])}`) - .join(`\n`); - return source; -} -/** - * create Named Slots content in source - * @param slotProps - * @param slotArgs - */ - -function createNamedSlots(slotArgs: ArgEntries, slotProps: ArgEntries, byRef?: boolean) { - if (!slotArgs) return ''; - const many = slotProps.length > 1; - return slotArgs - .map(([key, value]) => { - const content = !byRef ? JSON.stringify(value) : `{{ ${key} }}`; - return many ? ` ` : ` ${content}`; - }) - .join('\n'); -} - -function getArgsInAttrs(args: Args, attributes: Attribute[]) { - return Object.keys(args).reduce((acc, prop) => { - if (attributes?.find((attr: any) => attr.name === 'v-bind')) { - acc[prop] = args[prop]; - } - const attribute = attributes?.find( - (attr: any) => attr.name === prop || attr.name === `:${prop}` - ); - if (attribute) { - acc[prop] = attribute.name === `:${prop}` ? args[prop] : attribute.value; - } - if (Object.keys(acc).length === 0) { - attributes?.forEach((attr: any) => { - acc[attr.name] = JSON.parse(JSON.stringify(attr.value)); - }); - } - return acc; - }, {} as Record); + const componentsOrNodes = Array.isArray(componentOrNodes) ? componentOrNodes : [componentOrNodes]; + const source = componentsOrNodes + .map((componentOrNode) => generateComponentSource(componentOrNode)) + .join(' '); + return source || null; } -/** - * format prettier for vue - * @param source - */ - /** * source decorator. * @param storyFn Fn * @param context StoryContext */ export const sourceDecorator = (storyFn: any, context: StoryContext) => { - const channel = addons.getChannel(); const skip = skipSourceRender(context); const story = storyFn(); - let source: string; - - useEffect(() => { - if (!skip && source) { - const { id, unmappedArgs } = context; - channel.emit(SNIPPET_RENDERED, { id, args: unmappedArgs, source, format: 'vue' }); - } - }); - - if (skip) { - return story; - } - - const { args = {}, component: ctxtComponent, argTypes = {} } = context || {}; - const components = getTemplates(context?.originalStoryFn); + watch( + () => context.args, + () => { + if (!skip) { + generateSource(context); + } + }, + { immediate: true, deep: true } + ); + return story; +}; - const storyComponent = components.length ? components : ctxtComponent; +export function generateSource(context: StoryContext) { + const channel = addons.getChannel(); + const { args = {}, argTypes = {}, id } = context || {}; + const storyComponents = getTemplateComponents(context?.originalStoryFn, context); const withScript = context?.parameters?.docs?.source?.withScriptSetup || false; - const generatedScript = withScript ? generateScriptSetup(args, argTypes, components) : ''; - const generatedTemplate = generateSource(storyComponent, args, argTypes, withScript); + const generatedScript = withScript ? generateScriptSetup(args, argTypes, storyComponents) : ''; + const generatedTemplate = generateTemplateSource(storyComponents, context, withScript); if (generatedTemplate) { - source = `${generatedScript}\n `; + const source = `${generatedScript}\n `; + channel.emit(SNIPPET_RENDERED, { id, args, source, format: 'vue' }); + return source; } - - return story; + return null; +} +// export local function for testing purpose +export { + generateScriptSetup, + getTemplateComponents as getComponentsFromRenderFn, + getComponents as getComponentsFromTemplate, + mapAttributesAndDirectives, + attributeSource, + htmlEventAttributeToVueEventAttribute, }; diff --git a/code/renderers/vue3/src/docs/utils.ts b/code/renderers/vue3/src/docs/utils.ts new file mode 100644 index 000000000000..707feb46e58f --- /dev/null +++ b/code/renderers/vue3/src/docs/utils.ts @@ -0,0 +1,91 @@ +import type { Args } from '@storybook/types'; +import type { FunctionalComponent } from 'vue'; + +/** + * omit event args + * @param args + */ +const omitEvent = (args: Args): Args => + args + ? Object.fromEntries(Object.entries(args).filter(([key, value]) => !key.startsWith('on'))) + : {}; + +const displayObject = (obj: any): string | boolean | number => { + if (obj && typeof obj === 'object') { + return `{${Object.keys(obj) + .map((key) => `${key}:${displayObject(obj[key])}`) + .join(',')}}`; + } + if (typeof obj === 'string') return `'${obj}'`; + return obj?.toString(); +}; +const htmlEventAttributeToVueEventAttribute = (key: string) => { + return /^on[A-Za-z]/.test(key) ? key.replace(/^on/, 'v-on:').toLowerCase() : key; +}; + +const directiveSource = (key: string, value: unknown) => + key.includes('on') + ? `${htmlEventAttributeToVueEventAttribute(key)}='()=>({})'` + : `${key}="${value}"`; + +const attributeSource = (key: string, value: unknown, dynamic?: boolean) => + // convert html event key to vue event key + ['boolean', 'number', 'object'].includes(typeof value) || // dynamic value + (dynamic && ['style', 'class'].includes(key)) // dynamic style or class + ? `:${key}="${displayObject(value)}"` + : directiveSource(key, value); + +const evalExp = (argExpValue: any, args: Args): any => { + let evalVal = argExpValue; + if (evalVal && /v-bind="(\w+)"/.test(evalVal)) + return evalVal.replace(/"(\w+)"/g, `"${displayObject(args)}"`); + + Object.keys(args).forEach((akey) => { + const regexMatch = new RegExp(`(\\w+)\\.${akey}`, 'g'); + const regexTarget = new RegExp(`(\\w+)\\.${akey}`, 'g'); + if (regexMatch.test(evalVal)) { + evalVal = evalVal.replace(regexTarget, displayObject(args[akey])); + } + }); + + return evalVal; +}; + +const replaceValueWithRef = (source: string, args: Args, ref: string) => { + const value = ref ? args[ref] : 'args'; + + const bindValue = () => { + const argsRef = Object.fromEntries(Object.entries(args).map(([key]) => [key, key])); + return (displayObject(argsRef) as string).replace(/'/g, ''); + }; + + const regexMatch = new RegExp(`="${value}"`, 'g'); + return source.replace(regexMatch, `="${ref ?? bindValue()}"`); +}; + +/** + * + * replace function curly brackets and return with empty string ex: () => { return `${text} , ${year}` } => `${text} , ${year}` + * + * @param slot + * @returns + * */ + +function generateExpression(slot: FunctionalComponent): string { + let body = slot.toString().split('=>')[1].trim().replace('return', '').trim(); + if (body.startsWith('{') && body.endsWith('}')) { + body = body.substring(1, body.length - 1).trim(); + } + return `{{${body}}}`; +} + +export { + omitEvent, + displayObject, + htmlEventAttributeToVueEventAttribute, + directiveSource, + attributeSource, + evalExp, + replaceValueWithRef, + generateExpression, +}; diff --git a/code/renderers/vue3/template/stories_vue3-vite-default-ts/SourceDecorator.stories.ts b/code/renderers/vue3/template/stories_vue3-vite-default-ts/SourceDecorator.stories.ts new file mode 100644 index 000000000000..4a5a8613069e --- /dev/null +++ b/code/renderers/vue3/template/stories_vue3-vite-default-ts/SourceDecorator.stories.ts @@ -0,0 +1,46 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; + +import GlobalUsage from './GlobalUsage.vue'; +import GlobalSetup from './GlobalSetup.vue'; + +const meta: Meta = { + component: GlobalUsage, + argTypes: {}, + tags: ['autodocs'], +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const MultiComponents: Story = { + args: { + label: 'Button', + size: 'large', + backgroundColor: '#aa00ff', + btn1Args: { label: 'Button 10', size: 'small', backgroundColor: '#aa00ff' }, + }, + render(args: any) { + return { + components: { GlobalUsage, GlobalSetup }, + setup() { + return { args }; + }, + template: `
+ +
+ +   +
+

Complex Story Custom template



+ + +
Multiple + Components
+
+ + +
+
`, + }; + }, +}; diff --git a/code/renderers/web-components/package.json b/code/renderers/web-components/package.json index 2d9f33194054..66c180744182 100644 --- a/code/renderers/web-components/package.json +++ b/code/renderers/web-components/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/web-components", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook web-components renderer", "keywords": [ "lit", @@ -51,13 +51,13 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/core-client": "7.1.0-alpha.29", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/core-client": "7.1.0-alpha.30", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0" }, diff --git a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot index 127bc8704a4a..7f1b194d16b6 100644 --- a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot +++ b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot @@ -84,7 +84,7 @@ Object { }, }, "type": Object { - "name": "void", + "name": "boolean", }, }, "backSide": Object { @@ -126,7 +126,7 @@ Object { "name": "header", "required": false, "table": Object { - "category": "properties", + "category": "attributes", "defaultValue": Object { "summary": "\\"Your Message\\"", }, @@ -152,7 +152,7 @@ Object { "name": "rows", "required": false, "table": Object { - "category": "properties", + "category": "attributes", "defaultValue": Object { "summary": "[]", }, diff --git a/code/renderers/web-components/src/docs/custom-elements.ts b/code/renderers/web-components/src/docs/custom-elements.ts index 6a4dbdeee26e..eaa9f3436bd1 100644 --- a/code/renderers/web-components/src/docs/custom-elements.ts +++ b/code/renderers/web-components/src/docs/custom-elements.ts @@ -40,8 +40,19 @@ interface Declaration { } function mapItem(item: TagItem, category: string): InputType { - const type = - category === 'properties' ? { name: item.type?.text || item.type } : { name: 'void' }; + let type; + switch (category) { + case 'attributes': + case 'properties': + type = { name: item.type?.text || item.type }; + break; + case 'slots': + type = { name: 'string' }; + break; + default: + type = { name: 'void' }; + break; + } return { name: item.name, @@ -139,9 +150,9 @@ export const extractArgTypesFromElements = (tagName: string, customElements: Cus const metaData = getMetaData(tagName, customElements); return ( metaData && { - ...mapData(metaData.attributes ?? [], 'attributes'), ...mapData(metaData.members ?? [], 'properties'), ...mapData(metaData.properties ?? [], 'properties'), + ...mapData(metaData.attributes ?? [], 'attributes'), ...mapData(metaData.events ?? [], 'events'), ...mapData(metaData.slots ?? [], 'slots'), ...mapData(metaData.cssProperties ?? [], 'css custom properties'), diff --git a/code/renderers/web-components/template/stories/custom-elements.json b/code/renderers/web-components/template/stories/custom-elements.json index 7389e1bab99b..6bdc06ce7a23 100644 --- a/code/renderers/web-components/template/stories/custom-elements.json +++ b/code/renderers/web-components/template/stories/custom-elements.json @@ -51,8 +51,8 @@ ], "slots": [ { - "description": "This is an unnamed slot (the default slot)", - "name": "" + "name": "prefix", + "description": "Label prefix" } ], "members": [ diff --git a/code/renderers/web-components/template/stories/demo-wc-card.stories.js b/code/renderers/web-components/template/stories/demo-wc-card.stories.js index 0e5dd11f3e68..193a961c6bce 100644 --- a/code/renderers/web-components/template/stories/demo-wc-card.stories.js +++ b/code/renderers/web-components/template/stories/demo-wc-card.stories.js @@ -3,14 +3,22 @@ import './demo-wc-card'; export default { component: 'demo-wc-card', + render: ({ backSide, header, rows, prefix }) => + html` + ${prefix}A simple card + `, }; -const Template = ({ backSide, header, rows }) => - html` - A simple card - `; +export const Front = { + args: { backSide: false, header: undefined, rows: [] }, +}; + +export const Back = { + args: { backSide: true, header: undefined, rows: [] }, +}; -export const Front = Template.bind({}); -Front.args = { backSide: false, header: undefined, rows: [] }; +export const Prefix = { + args: { backSide: false, prefix: 'prefix:', header: 'my header', rows: [] }, +}; diff --git a/code/renderers/web-components/template/stories/demo-wc-card/DemoWcCard.js b/code/renderers/web-components/template/stories/demo-wc-card/DemoWcCard.js index 89e29d06fc92..4c8cee3a7c6c 100644 --- a/code/renderers/web-components/template/stories/demo-wc-card/DemoWcCard.js +++ b/code/renderers/web-components/template/stories/demo-wc-card/DemoWcCard.js @@ -69,7 +69,7 @@ export class DemoWcCard extends LitElement {
-
${this.header}
+
${this.header}
${this.rows.length === 0 diff --git a/code/ui/blocks/package.json b/code/ui/blocks/package.json index 5b4264baf580..143b2864ccf2 100644 --- a/code/ui/blocks/package.json +++ b/code/ui/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/blocks", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Storybook Doc Blocks", "keywords": [ "storybook" @@ -43,17 +43,17 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.1.0-alpha.29", + "@storybook/docs-tools": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/preview-api": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/preview-api": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -67,7 +67,7 @@ "util-deprecate": "^1.0.2" }, "devDependencies": { - "@storybook/addon-actions": "7.1.0-alpha.29", + "@storybook/addon-actions": "7.1.0-alpha.30", "@types/color-convert": "^2.0.0" }, "peerDependencies": { diff --git a/code/ui/components/package.json b/code/ui/components/package.json index 26d4a3ba37d3..e7ce4ab87904 100644 --- a/code/ui/components/package.json +++ b/code/ui/components/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/components", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook Components", "keywords": [ "storybook" @@ -48,22 +48,22 @@ "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/client-logger": "7.1.0-alpha.29", + "@storybook/client-logger": "7.1.0-alpha.30", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" }, "devDependencies": { "@popperjs/core": "^2.6.0", - "@types/overlayscrollbars": "^1.12.0", "@types/react-syntax-highlighter": "11.0.5", "@types/util-deprecate": "^1.0.0", "css": "^3.0.0", - "overlayscrollbars": "^1.13.1", + "overlayscrollbars": "^2.2.0", + "overlayscrollbars-react": "^0.5.0", "polished": "^4.2.2", "prettier": "^2.8.0", "react-popper-tooltip": "^4.4.2", diff --git a/code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx b/code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx index 593b06cecb21..a7650a8f922f 100644 --- a/code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx +++ b/code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx @@ -1,456 +1,496 @@ import React from 'react'; -import { Global, keyframes } from '@storybook/theming'; +import { Global } from '@storybook/theming'; import type { Theme, CSSObject } from '@storybook/theming'; -const hsResizeObserverDummyAnimation = keyframes`0%{z-index:0}to{z-index:-1}`; - -export const getScrollAreaStyles: (theme: Theme) => CSSObject = (theme: Theme) => ({ - 'html.os-html, html.os-html>.os-host': { - display: 'block', - overflow: 'hidden', - boxSizing: 'border-box', - height: '100%!important' as any as '100%', - width: '100%!important' as any as '100%', - minWidth: '100%!important' as any as '100%', - minHeight: '100%!important' as any as '100%', - margin: '0!important' as any as 0, - position: 'absolute!important' as any as 'absolute', - }, - 'html.os-html>.os-host>.os-padding': { - position: 'absolute', - }, - 'body.os-dragging, body.os-dragging *': { - cursor: 'default', - }, - '.os-host, .os-host-textarea': { - position: 'relative', - overflow: 'visible!important' as any as 'visible', - flexDirection: 'column', - flexWrap: 'nowrap', - justifyContent: 'flex-start', - alignContent: 'flex-start', - alignItems: 'flex-start', - }, - '.os-host-flexbox': { - overflow: 'hidden!important' as any as 'hidden', - display: 'flex', - }, - '.os-host-flexbox>.os-size-auto-observer': { - height: 'inherit!important' as any as 'inherit', - }, - '.os-host-flexbox>.os-content-glue': { - flexGrow: 1, - flexShrink: 0, - }, - '.os-host-flexbox>.os-size-auto-observer, .os-host-flexbox>.os-content-glue': { - minHeight: 0, - minWidth: 0, - flexGrow: 0, - flexShrink: 1, - flexBasis: 'auto', - }, - '#os-dummy-scrollbar-size': { - position: 'fixed', - opacity: 0, - visibility: 'hidden', - overflow: 'scroll', - height: 500, - width: 500, - }, - '#os-dummy-scrollbar-size>div': { - width: '200%', - height: '200%', - margin: 10, - }, - '#os-dummy-scrollbar-size, .os-viewport': {}, - '.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size, .os-viewport-native-scrollbars-invisible.os-viewport': - { - scrollbarWidth: 'none!important' as any as 'none', - }, - '.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner': - { - display: 'none!important' as any as 'none', - width: '0!important' as any as 0, - height: '0!important' as any as 0, - visibility: 'hidden!important' as any as 'hidden', - background: '0 0!important', - }, - '.os-content-glue': { - boxSizing: 'inherit', - maxHeight: '100%', - maxWidth: '100%', - width: '100%', - pointerEvents: 'none', - }, - '.os-padding': { - boxSizing: 'inherit', - direction: 'inherit', - position: 'absolute', - overflow: 'visible', - padding: 0, - margin: 0, - left: 0, - top: 0, - bottom: 0, - right: 0, - width: 'auto!important' as any as 'auto', - height: 'auto!important' as any as 'auto', - zIndex: 1, - }, - '.os-host-overflow>.os-padding': { - overflow: 'hidden', - }, - '.os-viewport': { - direction: 'inherit!important' as any as 'inherit', - boxSizing: 'inherit!important' as any as 'inherit', - resize: 'none!important' as any as 'none', - outline: '0!important' as any as 0, - position: 'absolute', - overflow: 'hidden', - top: 0, - left: 0, - bottom: 0, - right: 0, - padding: 0, - margin: 0, - }, - '.os-content-arrange': { - position: 'absolute', - zIndex: -1, - minHeight: 1, - minWidth: 1, - pointerEvents: 'none', - }, - '.os-content': { - direction: 'inherit', - boxSizing: 'border-box!important' as any as 'border-box', - position: 'relative', - display: 'block', - height: '100%', - width: '100%', - visibility: 'visible', - }, - '.os-content:before, .os-content:after': { - content: "''", - display: 'table', - width: 0, - height: 0, - lineHeight: 0, - fontSize: 0, - }, - '.os-content>.os-textarea': { - boxSizing: 'border-box!important' as any as 'border-box', - direction: 'inherit!important' as any as 'inherit', - background: '0 0!important', - outline: '0 transparent!important', - overflow: 'hidden!important' as any as 'hidden', - position: 'absolute!important' as any as 'absolute', - display: 'block!important' as any as 'block', - top: '0!important' as any as 0, - left: '0!important' as any as 0, - margin: '0!important' as any as 0, - borderRadius: '0!important' as any as 0, - float: 'none!important' as any as 'none', - filter: 'none!important' as any as 'none', - border: '0!important' as any as 0, - resize: 'none!important' as any as 'none', - transform: 'none!important' as any as 'none', - maxWidth: 'none!important' as any as 'none', - maxHeight: 'none!important' as any as 'none', - boxShadow: 'none!important' as any as 'none', - perspective: 'none!important' as any as 'none', - opacity: '1!important' as any as 1, - zIndex: '1!important' as any as 1, - clip: 'auto!important' as any as 'auto', - verticalAlign: 'baseline!important' as any as 'baseline', - padding: 0, - }, - '.os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea': { - right: '0!important' as any as 0, - }, - '.os-content>.os-textarea-cover': { - zIndex: -1, - pointerEvents: 'none', - }, - '.os-content>.os-textarea[wrap=off]': { - whiteSpace: 'pre!important' as any as 'pre', - margin: '0!important' as any as 0, - }, - '.os-text-inherit': { - fontFamily: 'inherit', - fontSize: 'inherit', - fontWeight: 'inherit', - fontStyle: 'inherit', - fontVariant: 'inherit', - textTransform: 'inherit', - textDecoration: 'inherit', - textIndent: 'inherit', - textAlign: 'inherit', - textShadow: 'inherit', - textOverflow: 'inherit', - letterSpacing: 'inherit', - wordSpacing: 'inherit', - lineHeight: 'inherit', - unicodeBidi: 'inherit', - direction: 'inherit', - color: 'inherit', - cursor: 'text', - }, - '.os-resize-observer, .os-resize-observer-host': { - boxSizing: 'inherit', - display: 'block', - opacity: 0, - position: 'absolute', - top: 0, - left: 0, - height: '100%', - width: '100%', - overflow: 'hidden', - pointerEvents: 'none', - zIndex: -1, - }, - '.os-resize-observer-host': { - padding: 'inherit', - border: 'inherit', - borderColor: 'transparent', - borderStyle: 'solid', - boxSizing: 'border-box', - }, - '.os-resize-observer-host:after': { - content: "''", - }, - '.os-resize-observer-host>.os-resize-observer, .os-resize-observer-host:after': { - height: '200%', - width: '200%', - padding: 'inherit', - border: 'inherit', - margin: 0, - display: 'block', - boxSizing: 'content-box', - }, - '.os-resize-observer.observed, object.os-resize-observer': { - boxSizing: 'border-box!important' as any as 'border-box', - }, - '.os-size-auto-observer': { - boxSizing: 'inherit!important' as any as 'inherit', - height: '100%', - width: 'inherit', - maxWidth: 1, - position: 'relative', - float: 'left', - maxHeight: 1, - overflow: 'hidden', - zIndex: -1, - padding: 0, - margin: 0, - pointerEvents: 'none', - flexGrow: 'inherit', - flexShrink: 0, - flexBasis: 0, - }, - '.os-size-auto-observer>.os-resize-observer': { - width: '1000%', - height: '1000%', - minHeight: 1, - minWidth: 1, - }, - '.os-resize-observer-item': { - position: 'absolute', - top: 0, - right: 0, - bottom: 0, - left: 0, - overflow: 'hidden', - zIndex: -1, - opacity: 0, - direction: 'ltr!important' as any as 'ltr', - flex: 'none!important' as any as 'none', - }, - '.os-resize-observer-item-final': { - position: 'absolute', - left: 0, - top: 0, - transition: 'none!important' as any as 'none', - flex: 'none!important' as any as 'none', - }, - '.os-resize-observer': { - animationDuration: '.001s', - animationName: `${hsResizeObserverDummyAnimation}`, - }, - '.os-host-transition>.os-scrollbar, .os-host-transition>.os-scrollbar-corner': { - transition: 'opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s', - }, - 'html.os-html>.os-host>.os-scrollbar': { - position: 'absolute', - zIndex: 999999, - }, - '.os-scrollbar, .os-scrollbar-corner': { - position: 'absolute', - opacity: 1, - zIndex: 1, - }, - '.os-scrollbar-corner': { - bottom: 0, - right: 0, - height: 10, - width: 10, - backgroundColor: 'transparent', - }, - '.os-scrollbar': { - pointerEvents: 'none', - padding: 2, - boxSizing: 'border-box', - background: 0, - }, - '.os-scrollbar-track': { - pointerEvents: 'auto', - position: 'relative', - height: '100%', - width: '100%', - padding: '0!important' as any as 0, - border: '0!important' as any as 0, - }, - '.os-scrollbar-handle': { - pointerEvents: 'auto', - position: 'absolute', - width: '100%', - height: '100%', - }, - '.os-scrollbar-handle-off, .os-scrollbar-track-off': { - pointerEvents: 'none', - }, - '.os-scrollbar.os-scrollbar-unusable, .os-scrollbar.os-scrollbar-unusable *': { - pointerEvents: 'none!important' as any as 'none', - }, - '.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle': { - opacity: '0!important' as any as 0, - }, - '.os-scrollbar-horizontal': { - bottom: 0, - left: 0, - right: 10, - height: 10, - }, - '.os-scrollbar-vertical': { - top: 0, - right: 0, - bottom: 10, - width: 10, - }, - '.os-host-rtl>.os-scrollbar-horizontal': { - right: 0, - }, - '.os-host-rtl>.os-scrollbar-vertical': { - right: 'auto', - left: 0, - }, - '.os-host-rtl>.os-scrollbar-corner': { - right: 'auto', - left: 0, - }, - '.os-scrollbar-auto-hidden, .os-padding+.os-scrollbar-corner, .os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner, .os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal, .os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner, .os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner, .os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner': - { +export const getScrollAreaStyles: (theme: Theme) => CSSObject = (theme: Theme) => + ({ + '.os-size-observer,\n.os-size-observer-listener': { + direction: 'inherit', + pointerEvents: 'none', + overflow: 'hidden', + visibility: 'hidden', + boxSizing: 'border-box', + }, + '.os-size-observer,\n.os-size-observer-listener,\n.os-size-observer-listener-item,\n.os-size-observer-listener-item-final': + { + writingMode: 'horizontal-tb', + position: 'absolute', + left: '0', + top: '0', + }, + '.os-size-observer': { + zIndex: -1, + contain: 'strict', + display: 'flex', + flexDirection: 'row', + flexWrap: 'nowrap', + padding: 'inherit', + border: 'inherit', + boxSizing: 'inherit', + margin: '-133px', + top: '0', + right: '0', + bottom: '0', + left: '0', + transform: 'scale(0.1)', + }, + '.os-size-observer::before': { + content: '""', + flex: 'none', + boxSizing: 'inherit', + padding: '10px', + width: '10px', + height: '10px', + }, + '.os-size-observer-appear': { + animation: 'os-size-observer-appear-animation 1ms forwards', + }, + '.os-size-observer-listener': { + boxSizing: 'border-box', + position: 'relative', + flex: 'auto', + padding: 'inherit', + border: 'inherit', + margin: '-133px', + transform: 'scale(10)', + }, + '.os-size-observer-listener.ltr': { marginRight: '-266px', marginLeft: '0' }, + '.os-size-observer-listener.rtl': { marginLeft: '-266px', marginRight: '0' }, + '.os-size-observer-listener:empty::before': { + content: '""', + width: '100%', + height: '100%', + }, + '.os-size-observer-listener:empty::before, .os-size-observer-listener > .os-size-observer-listener-item': + { + display: 'block', + position: 'relative', + padding: 'inherit', + border: 'inherit', + boxSizing: 'content-box', + flex: 'auto', + }, + '.os-size-observer-listener-scroll': { + boxSizing: 'border-box', + display: 'flex', + }, + '.os-size-observer-listener-item': { + right: '0', + bottom: '0', + overflow: 'hidden', + direction: 'ltr', + flex: 'none', + }, + '.os-size-observer-listener-item-final': { transition: 'none' }, + '@keyframes os-size-observer-appear-animation': { + from: { cursor: 'auto' }, + to: { cursor: 'none' }, + }, + '.os-trinsic-observer': { + flex: 'none', + boxSizing: 'border-box', + position: 'relative', + maxWidth: '0px', + maxHeight: '1px', + padding: '0', + margin: '0', + border: 'none', + overflow: 'hidden', + zIndex: -1, + height: '0', + top: 'calc(100% + 1px)', + contain: 'strict', + }, + '.os-trinsic-observer:not(:empty)': { + height: 'calc(100% + 1px)', + top: '-1px', + }, + '.os-trinsic-observer:not(:empty) > .os-size-observer': { + width: '1000%', + height: '1000%', + minHeight: '1px', + minWidth: '1px', + }, + '.os-environment': { + '--os-custom-prop': '-1', + position: 'fixed', + opacity: 0, + visibility: 'hidden', + overflow: 'scroll', + height: '200px', + width: '200px', + zIndex: 'var(--os-custom-prop)', + }, + '.os-environment div': { width: '200%', height: '200%', margin: '10px 0' }, + '.os-environment.os-environment-flexbox-glue': { + display: 'flex', + flexDirection: 'row', + flexWrap: 'nowrap', + height: 'auto', + width: 'auto', + minHeight: '200px', + minWidth: '200px', + }, + '.os-environment.os-environment-flexbox-glue div': { + flex: 'auto', + width: 'auto', + height: 'auto', + maxHeight: '100%', + maxWidth: '100%', + margin: '0', + }, + '.os-environment.os-environment-flexbox-glue-max': { maxHeight: '200px' }, + '.os-environment.os-environment-flexbox-glue-max div': { + overflow: 'visible', + }, + '.os-environment.os-environment-flexbox-glue-max div::before': { + content: '""', + display: 'block', + height: '999px', + width: '999px', + }, + '.os-environment,\n[data-overlayscrollbars-viewport]': { + msOverflowStyle: 'scrollbar !important', + }, + '[data-overlayscrollbars-initialize],\n[data-overlayscrollbars~=scrollbarHidden],\n[data-overlayscrollbars-viewport~=scrollbarHidden],\n.os-scrollbar-hidden.os-environment': + { + scrollbarWidth: 'none !important', + }, + '[data-overlayscrollbars-initialize]::-webkit-scrollbar,\n[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,\n[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,\n[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,\n[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,\n[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,\n.os-scrollbar-hidden.os-environment::-webkit-scrollbar,\n.os-scrollbar-hidden.os-environment::-webkit-scrollbar-corner': + { + WebkitAppearance: 'none !important', + appearance: 'none !important', + display: 'none !important', + width: '0 !important', + height: '0 !important', + }, + '[data-overlayscrollbars-initialize]': { overflow: 'auto' }, + 'html[data-overlayscrollbars],\nhtml.os-scrollbar-hidden,\nhtml.os-scrollbar-hidden > body': { + boxSizing: 'border-box', + margin: '0', + width: '100%', + height: '100%', + }, + 'html[data-overlayscrollbars] > body': { overflow: 'visible' }, + '[data-overlayscrollbars~=host]': { position: 'relative' }, + '[data-overlayscrollbars~=host],\n[data-overlayscrollbars-padding]': { + display: 'flex', + flexDirection: 'row !important', + flexWrap: 'nowrap !important', + }, + '[data-overlayscrollbars-padding],\n[data-overlayscrollbars-viewport]': { + boxSizing: 'inherit', + position: 'relative', + flex: 'auto !important', + height: 'auto', + width: '100%', + padding: '0', + margin: '0', + border: 'none', + zIndex: 0, + overflow: 'hidden', + }, + '[data-overlayscrollbars-viewport]': { '--os-vaw': '0', '--os-vah': '0' }, + '[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before': { + content: '""', + position: 'absolute', + pointerEvents: 'none', + zIndex: -1, + minWidth: '1px', + minHeight: '1px', + width: 'var(--os-vaw)', + height: 'var(--os-vah)', + }, + '[data-overlayscrollbars~=host],\n[data-overlayscrollbars~=viewport]': { + overflow: 'hidden', + }, + '[data-overlayscrollbars~=overflowVisible],\n[data-overlayscrollbars-padding~=overflowVisible],\n[data-overlayscrollbars-viewport~=overflowVisible]': + { + overflow: 'visible', + }, + '[data-overlayscrollbars-overflow-x=hidden]': { + overflowX: 'hidden', + overflowY: 'hidden', + }, + '[data-overlayscrollbars-overflow-x=scroll]': { overflowX: 'scroll' }, + '[data-overlayscrollbars-overflow-y=scroll]': { overflowY: 'scroll' }, + '[data-overlayscrollbars~=scrollbarPressed],\n[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]': + { + scrollBehavior: 'auto !important', + }, + '[data-overlayscrollbars-content]': { boxSizing: 'inherit' }, + '[data-overlayscrollbars-grid],\n[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]': + { + display: 'grid', + gridTemplate: '1fr/1fr', + }, + '[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding],\n[data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport],\n[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport]': + { + height: 'auto !important', + width: 'auto !important', + }, + '.os-scrollbar': { + contain: ['size layout', 'size layout style'], + transition: + 'opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s', + pointerEvents: 'none', + position: 'absolute', opacity: 0, visibility: 'hidden', + '--os-size': '0', + '--os-padding-perpendicular': '0', + '--os-padding-axis': '0', + '--os-track-border-radius': '0', + '--os-track-bg': 'none', + '--os-track-bg-hover': 'none', + '--os-track-bg-active': 'none', + '--os-track-border': 'none', + '--os-track-border-hover': 'none', + '--os-track-border-active': 'none', + '--os-handle-border-radius': '0', + '--os-handle-bg': 'none', + '--os-handle-bg-hover': 'none', + '--os-handle-bg-active': 'none', + '--os-handle-border': 'none', + '--os-handle-border-hover': 'none', + '--os-handle-border-active': 'none', + '--os-handle-min-size': '33px', + '--os-handle-max-size': 'none', + '--os-handle-perpendicular-size': '100%', + '--os-handle-perpendicular-size-hover': '100%', + '--os-handle-perpendicular-size-active': '100%', + '--os-handle-interactive-area-offset': '0', + }, + 'body > .os-scrollbar': { position: 'fixed', zIndex: 99999 }, + '.os-scrollbar-transitionless': { transition: 'none' }, + '.os-scrollbar-track': { + position: 'relative', + direction: 'ltr !important', + padding: '0 !important', + border: 'none !important', + }, + '.os-scrollbar-handle': { position: 'absolute' }, + '.os-scrollbar-track,\n.os-scrollbar-handle': { pointerEvents: 'none', + width: '100%', + height: '100%', + }, + '.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,\n.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle': + { + pointerEvents: 'auto', + touchAction: 'none', + }, + '.os-scrollbar-horizontal': { + bottom: '0', + left: '0', + padding: 'var(--os-padding-perpendicular) var(--os-padding-axis)', + right: 'var(--os-size)', + height: 'var(--os-size)', + }, + '.os-scrollbar-vertical': { + top: '0', + right: '0', + padding: 'var(--os-padding-axis) var(--os-padding-perpendicular)', + bottom: 'var(--os-size)', + width: 'var(--os-size)', + }, + '.os-scrollbar-rtl.os-scrollbar-horizontal': { right: '0' }, + '.os-scrollbar-rtl.os-scrollbar-vertical': { right: 'auto', left: '0' }, + '.os-scrollbar-visible,\n.os-scrollbar-interaction.os-scrollbar-visible': { + opacity: 1, + visibility: 'visible', + }, + '.os-scrollbar-auto-hidden': { opacity: 0, visibility: 'hidden' }, + '.os-scrollbar-unusable,\n.os-scrollbar-unusable *,\n.os-scrollbar-wheel,\n.os-scrollbar-wheel *': + { + pointerEvents: 'none !important', + }, + '.os-scrollbar-unusable .os-scrollbar-handle': { opacity: '0 !important' }, + '.os-scrollbar-horizontal .os-scrollbar-handle': { + bottom: '0', + minWidth: 'var(--os-handle-min-size)', + maxWidth: 'var(--os-handle-max-size)', + height: 'var(--os-handle-perpendicular-size)', + transition: 'opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s', + }, + '.os-scrollbar-vertical .os-scrollbar-handle': { + right: '0', + minHeight: 'var(--os-handle-min-size)', + maxHeight: 'var(--os-handle-max-size)', + width: 'var(--os-handle-perpendicular-size)', + transition: 'opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s', + }, + '.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle': { + right: 'auto', + left: '0', }, - '.os-scrollbar-corner-resize-both': { - cursor: 'nwse-resize', - }, - '.os-host-rtl>.os-scrollbar-corner-resize-both': { - cursor: 'nesw-resize', - }, - '.os-scrollbar-corner-resize-horizontal': { - cursor: 'ew-resize', - }, - '.os-scrollbar-corner-resize-vertical': { - cursor: 'ns-resize', - }, - '.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize': { - cursor: 'default', - }, - '.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical': { - top: 0, - bottom: 0, - }, - '.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal, .os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal': - { - right: 0, - left: 0, - }, - '.os-scrollbar:hover, .os-scrollbar-corner.os-scrollbar-corner-resize': { - opacity: '1!important' as any as 1, - visibility: 'visible!important' as any as 'visible', - }, - '.os-scrollbar-corner.os-scrollbar-corner-resize': { - backgroundImage: - 'linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.4) 100%)', - backgroundRepeat: 'no-repeat', - backgroundPosition: '100% 100%', - pointerEvents: 'auto!important' as any as 'auto', - }, - '.os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize': { - transform: 'scale(-1,1)', - }, - '.os-host-overflow': { - overflow: 'hidden!important' as any as 'hidden', - }, - '.os-theme-dark.os-host-rtl>.os-scrollbar-horizontal': { - left: 10, - right: 0, - }, - '.os-scrollbar.os-scrollbar-unusable': { - background: 0, - }, - '.os-scrollbar>.os-scrollbar-track': { - background: 0, - }, - '.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle': { - minWidth: 30, - }, - '.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle': { - minHeight: 30, - }, - '.os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle': { - transition: 'background-color .3s', - }, - '.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle, .os-scrollbar>.os-scrollbar-track': { - borderRadius: 10, - }, - '.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle': { - background: theme.textMutedColor, - opacity: 0.5, - }, - '.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle': { - opacity: 0.6, - }, - '.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-scrollbar-vertical .os-scrollbar-handle:before': - { - content: "''", + '.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,\n.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl': + { + left: '0', + right: '0', + }, + '.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,\n.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl': + { + top: '0', + bottom: '0', + }, + '.os-scrollbar .os-scrollbar-track': { + border: 'var(--os-track-border)', + borderRadius: 'var(--os-track-border-radius)', + background: 'var(--os-track-bg)', + transition: 'opacity 0.15s, background-color 0.15s, border-color 0.15s', + }, + '.os-scrollbar .os-scrollbar-track:hover': { + border: 'var(--os-track-border-hover)', + background: 'var(--os-track-bg-hover)', + }, + '.os-scrollbar .os-scrollbar-track:active': { + border: 'var(--os-track-border-active)', + background: 'var(--os-track-bg-active)', + }, + '.os-scrollbar .os-scrollbar-handle': { + border: 'var(--os-handle-border)', + borderRadius: 'var(--os-handle-border-radius)', + background: theme.textMutedColor, + opacity: 0.5, + }, + '.os-scrollbar .os-scrollbar-handle:before': { + content: '""', position: 'absolute', - left: 0, - right: 0, - top: 0, - bottom: 0, + left: '0', + right: '0', + top: '0', + bottom: '0', display: 'block', }, - '.os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before': - { - display: 'none', - }, - '.os-scrollbar-horizontal .os-scrollbar-handle:before': { - top: -6, - bottom: -2, - }, - '.os-scrollbar-vertical .os-scrollbar-handle:before': { - left: -6, - right: -2, - }, - '.os-host-rtl.os-scrollbar-vertical .os-scrollbar-handle:before': { - right: -6, - left: -2, - }, -}); + '.os-scrollbar .os-scrollbar-handle:hover': { + border: 'var(--os-handle-border-hover)', + opacity: 0.6, + }, + '.os-scrollbar .os-scrollbar-handle:active': { + border: 'var(--os-handle-border-active)', + background: 'var(--os-handle-bg-active)', + }, + '.os-scrollbar-horizontal.os-scrollbar-rtl': { + left: 'var(--os-size)', + right: '0', + }, + '.os-scrollbar-horizontal .os-scrollbar-handle:before': { + top: 'calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1)', + bottom: 'calc(var(--os-padding-perpendicular) * -1)', + }, + '.os-scrollbar-horizontal:hover .os-scrollbar-handle': { + height: 'var(--os-handle-perpendicular-size-hover)', + }, + '.os-scrollbar-horizontal:active .os-scrollbar-handle': { + height: 'var(--os-handle-perpendicular-size-active)', + }, + '.os-scrollbar-vertical .os-scrollbar-handle:before': { + left: 'calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1)', + right: 'calc(var(--os-padding-perpendicular) * -1)', + }, + '.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before': { + right: + 'calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1)', + left: 'calc(var(--os-padding-perpendicular) * -1)', + }, + '.os-scrollbar-vertical:hover .os-scrollbar-handle': { + width: 'var(--os-handle-perpendicular-size-hover)', + }, + '.os-scrollbar-vertical:active .os-scrollbar-handle': { + width: 'var(--os-handle-perpendicular-size-active)', + }, + '[data-overlayscrollbars~=updating] > .os-scrollbar,\n.os-theme-none.os-scrollbar': { + display: 'none !important', + }, + '.os-theme-dark,\n.os-theme-light': { + boxSizing: 'border-box', + '--os-size': '10px', + '--os-padding-perpendicular': '2px', + '--os-padding-axis': '2px', + '--os-track-border-radius': '10px', + '--os-handle-interactive-area-offset': '4px', + '--os-handle-border-radius': '10px', + }, + '.os-theme-dark': { + '--os-handle-bg': 'rgba(0, 0, 0, 0.44)', + '--os-handle-bg-hover': 'rgba(0, 0, 0, 0.55)', + '--os-handle-bg-active': 'rgba(0, 0, 0, 0.66)', + }, + '.os-theme-light': { + '--os-handle-bg': 'rgba(255, 255, 255, 0.44)', + '--os-handle-bg-hover': 'rgba(255, 255, 255, 0.55)', + '--os-handle-bg-active': 'rgba(255, 255, 255, 0.66)', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar .os-scrollbar-handle, .os-no-css-vars.os-theme-light.os-scrollbar .os-scrollbar-handle': + { + borderRadius: '10px', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar .os-scrollbar-track, .os-no-css-vars.os-theme-light.os-scrollbar .os-scrollbar-track': + { + borderRadius: '10px', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal, .os-no-css-vars.os-theme-light.os-scrollbar-horizontal': + { + padding: '2px 2px', + right: '10px', + height: '10px', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal.os-scrollbar-rtl, .os-no-css-vars.os-theme-light.os-scrollbar-horizontal.os-scrollbar-rtl': + { + left: '10px', + right: '0', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal .os-scrollbar-handle, .os-no-css-vars.os-theme-light.os-scrollbar-horizontal .os-scrollbar-handle': + { + minWidth: '33px', + maxWidth: 'none', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-no-css-vars.os-theme-light.os-scrollbar-horizontal .os-scrollbar-handle:before': + { + top: 'calc((\n 2px + 4px\n ) * -1)', + bottom: 'calc(2px * -1)', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-vertical, .os-no-css-vars.os-theme-light.os-scrollbar-vertical': + { + padding: '2px 2px', + bottom: '10px', + width: '10px', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-vertical .os-scrollbar-handle, .os-no-css-vars.os-theme-light.os-scrollbar-vertical .os-scrollbar-handle': + { + minHeight: '33px', + maxHeight: 'none', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-vertical .os-scrollbar-handle:before, .os-no-css-vars.os-theme-light.os-scrollbar-vertical .os-scrollbar-handle:before': + { + left: 'calc((\n 2px + 4px\n ) * -1)', + right: 'calc(2px * -1)', + }, + '.os-no-css-vars.os-theme-dark.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before, .os-no-css-vars.os-theme-light.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before': + { + right: 'calc((\n 2px + 4px\n ) * -1)', + left: 'calc(2px * -1)', + }, + '.os-no-css-vars.os-theme-dark .os-scrollbar-handle': { + background: 'rgba(0, 0, 0, 0.44)', + }, + '.os-no-css-vars.os-theme-dark:hover .os-scrollbar-handle': { + background: 'rgba(0, 0, 0, 0.55)', + }, + '.os-no-css-vars.os-theme-dark:active .os-scrollbar-handle': { + background: 'rgba(0, 0, 0, 0.66)', + }, + '.os-no-css-vars.os-theme-light .os-scrollbar-handle': { + background: 'rgba(255, 255, 255, 0.44)', + }, + '.os-no-css-vars.os-theme-light:hover .os-scrollbar-handle': { + background: 'rgba(255, 255, 255, 0.55)', + }, + '.os-no-css-vars.os-theme-light:active .os-scrollbar-handle': { + background: 'rgba(255, 255, 255, 0.66)', + }, + } as any as CSSObject); const GlobalScrollAreaStyles = () => ; diff --git a/code/ui/components/src/ScrollArea/OverlayScrollbars.tsx b/code/ui/components/src/ScrollArea/OverlayScrollbars.tsx index a2514a27a51a..c5043032448c 100644 --- a/code/ui/components/src/ScrollArea/OverlayScrollbars.tsx +++ b/code/ui/components/src/ScrollArea/OverlayScrollbars.tsx @@ -1,90 +1,5 @@ -import type { HTMLAttributes, FC } from 'react'; -import React, { useRef, useEffect } from 'react'; -import OverlayScrollbars from 'overlayscrollbars'; +import { OverlayScrollbarsComponent } from 'overlayscrollbars-react'; -interface OverlayScrollbarsComponentProps extends HTMLAttributes { - children?: any; - options?: OverlayScrollbars.Options; - extensions?: OverlayScrollbars.Extensions; -} - -/** - * Using overlayscrollbars-react component results use the esm modules - * which doesn't go through babel leading to IE 11 uncompatibility - * A PR is submitted that may fix this: - * https://github.com/KingSora/OverlayScrollbars/pull/218 - * */ - -export const OverlayScrollbarsComponent: FC = ({ - options = {}, - extensions, - className, - children, - ...rest -}) => { - const osTargetRef = useRef(); - const osInstance = useRef(); - - useEffect(() => { - osInstance.current = OverlayScrollbars(osTargetRef.current, options, extensions); - mergeHostClassNames(osInstance.current, className); - return () => { - if (OverlayScrollbars.valid(osInstance.current)) { - osInstance.current.destroy(); - osInstance.current = null; - } - }; - }, []); - - useEffect(() => { - if (OverlayScrollbars.valid(osInstance.current)) { - osInstance.current.options(options); - } - }, [options]); - - useEffect(() => { - if (OverlayScrollbars.valid(osInstance.current)) { - mergeHostClassNames(osInstance.current, className); - } - }, [className]); - - return ( -
-
-
-
-
{children}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ); -}; - -function mergeHostClassNames(osInstance: OverlayScrollbars, className: string) { - if (OverlayScrollbars.valid(osInstance)) { - const { host } = osInstance.getElements(); - const regex = new RegExp( - `(^os-host([-_].+|)$)|${osInstance.options().className.replace(/\s/g, '$|')}$`, - 'g' - ); - const osClassNames = host.className - .split(' ') - .filter((name) => name.match(regex)) - .join(' '); - - host.className = `${osClassNames} ${className || ''}`; - } -} +export const OverlayScrollbars = OverlayScrollbarsComponent; export default OverlayScrollbarsComponent; diff --git a/code/ui/components/src/ScrollArea/ScrollArea.stories.tsx b/code/ui/components/src/ScrollArea/ScrollArea.stories.tsx index 85d3e8aa7522..e4a7a09e7dc2 100644 --- a/code/ui/components/src/ScrollArea/ScrollArea.stories.tsx +++ b/code/ui/components/src/ScrollArea/ScrollArea.stories.tsx @@ -51,9 +51,11 @@ export const Vertical = () => ( export const Horizontal = () => ( - {list((i) => ( - {i} - ))} +
+ {list((i) => ( + {i} + ))} +
); diff --git a/code/ui/components/src/ScrollArea/ScrollArea.tsx b/code/ui/components/src/ScrollArea/ScrollArea.tsx index 46d989742b10..51a0f5786679 100644 --- a/code/ui/components/src/ScrollArea/ScrollArea.tsx +++ b/code/ui/components/src/ScrollArea/ScrollArea.tsx @@ -8,7 +8,11 @@ const OverlayScrollbars = lazy(() => import('./OverlayScrollbars')); const Scroller: FC = ({ horizontal, vertical, ...props }) => ( }> - + ); diff --git a/code/ui/manager/package.json b/code/ui/manager/package.json index fadedf186d76..b3dd15a90636 100644 --- a/code/ui/manager/package.json +++ b/code/ui/manager/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/manager", - "version": "7.1.0-alpha.29", + "version": "7.1.0-alpha.30", "description": "Core Storybook UI", "keywords": [ "storybook" @@ -51,19 +51,19 @@ }, "devDependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/addons": "7.1.0-alpha.29", - "@storybook/api": "7.1.0-alpha.29", - "@storybook/channel-postmessage": "7.1.0-alpha.29", - "@storybook/channel-websocket": "7.1.0-alpha.29", - "@storybook/channels": "7.1.0-alpha.29", - "@storybook/client-logger": "7.1.0-alpha.29", - "@storybook/components": "7.1.0-alpha.29", - "@storybook/core-events": "7.1.0-alpha.29", + "@storybook/addons": "7.1.0-alpha.30", + "@storybook/api": "7.1.0-alpha.30", + "@storybook/channel-postmessage": "7.1.0-alpha.30", + "@storybook/channel-websocket": "7.1.0-alpha.30", + "@storybook/channels": "7.1.0-alpha.30", + "@storybook/client-logger": "7.1.0-alpha.30", + "@storybook/components": "7.1.0-alpha.30", + "@storybook/core-events": "7.1.0-alpha.30", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-alpha.29", - "@storybook/router": "7.1.0-alpha.29", - "@storybook/theming": "7.1.0-alpha.29", - "@storybook/types": "7.1.0-alpha.29", + "@storybook/manager-api": "7.1.0-alpha.30", + "@storybook/router": "7.1.0-alpha.30", + "@storybook/theming": "7.1.0-alpha.30", + "@storybook/types": "7.1.0-alpha.30", "@testing-library/react": "^11.2.2", "@types/semver": "^7.3.4", "copy-to-clipboard": "^3.3.1", diff --git a/code/yarn.lock b/code/yarn.lock index b4a8d2e1cdfd..1e786dcbf4f1 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -22,24 +22,24 @@ __metadata: languageName: node linkType: hard -"@angular-devkit/architect@npm:0.1600.3, @angular-devkit/architect@npm:^0.1600.0-rc.4": - version: 0.1600.3 - resolution: "@angular-devkit/architect@npm:0.1600.3" +"@angular-devkit/architect@npm:0.1600.5, @angular-devkit/architect@npm:^0.1600.0-rc.4": + version: 0.1600.5 + resolution: "@angular-devkit/architect@npm:0.1600.5" dependencies: - "@angular-devkit/core": 16.0.3 + "@angular-devkit/core": 16.0.5 rxjs: 7.8.1 - checksum: ebe0669044835f33473d411790817c64b91127374db9c7805fa099d7d55f0ad5af49a02b0fb5ca85de52bb39527991adc827d3ed77cf2dd7a2c7ce34310e0d84 + checksum: fdd619f4f8eb851c2adc16cbcf66c4acca08464e40ae590cb9cd6ea6f008eede1a18e5ff5c0d49d2c1ad17f956a5d446f87b04fcbcf070e60ea06ea240e60626 languageName: node linkType: hard "@angular-devkit/build-angular@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular-devkit/build-angular@npm:16.0.3" + version: 16.0.5 + resolution: "@angular-devkit/build-angular@npm:16.0.5" dependencies: "@ampproject/remapping": 2.2.1 - "@angular-devkit/architect": 0.1600.3 - "@angular-devkit/build-webpack": 0.1600.3 - "@angular-devkit/core": 16.0.3 + "@angular-devkit/architect": 0.1600.5 + "@angular-devkit/build-webpack": 0.1600.5 + "@angular-devkit/core": 16.0.5 "@babel/core": 7.21.4 "@babel/generator": 7.21.4 "@babel/helper-annotate-as-pure": 7.18.6 @@ -51,7 +51,7 @@ __metadata: "@babel/runtime": 7.21.0 "@babel/template": 7.20.7 "@discoveryjs/json-ext": 0.5.7 - "@ngtools/webpack": 16.0.3 + "@ngtools/webpack": 16.0.5 "@vitejs/plugin-basic-ssl": 1.0.1 ansi-colors: 4.1.3 autoprefixer: 10.4.14 @@ -95,7 +95,7 @@ __metadata: text-table: 0.2.0 tree-kill: 1.2.2 tslib: 2.5.0 - vite: 4.3.1 + vite: 4.3.9 webpack: 5.80.0 webpack-dev-middleware: 6.0.2 webpack-dev-server: 4.13.2 @@ -135,26 +135,26 @@ __metadata: optional: true tailwindcss: optional: true - checksum: ff23755ee43b81ff0ad9c82225374f3b054667d05b90b584a4c670a8d8ed520208363aa435615935e9424d8125c556c5ac3f0c340f2d3348bfd9b5d3353daffa + checksum: 7cf6d140519da1a3c0c1dbe8bf009327f5b4794f6914a53fab745fda017a6254f717e26f81cf05125d94fb337c6a11c1117eb3374a0d1a84310d91af662af75b languageName: node linkType: hard -"@angular-devkit/build-webpack@npm:0.1600.3": - version: 0.1600.3 - resolution: "@angular-devkit/build-webpack@npm:0.1600.3" +"@angular-devkit/build-webpack@npm:0.1600.5": + version: 0.1600.5 + resolution: "@angular-devkit/build-webpack@npm:0.1600.5" dependencies: - "@angular-devkit/architect": 0.1600.3 + "@angular-devkit/architect": 0.1600.5 rxjs: 7.8.1 peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 - checksum: af37eb2731621bc29b494746fe7f93efedee35eb76ec6dc287ba43ae6cd28d033977f6f529219aacf170aa57b6793e89292760ff4d930f14b1c96f5624883707 + checksum: e9894b1cc6597a9b50f6661d9f62eb3039516b59793509dbf3755cf980eaebd968e3c621f5b7053e5edea823ae3b970f5d6e09fdeed49d8cffe2db372bfb6fa7 languageName: node linkType: hard -"@angular-devkit/core@npm:16.0.3, @angular-devkit/core@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular-devkit/core@npm:16.0.3" +"@angular-devkit/core@npm:16.0.5, @angular-devkit/core@npm:^16.0.0-rc.4": + version: 16.0.5 + resolution: "@angular-devkit/core@npm:16.0.5" dependencies: ajv: 8.12.0 ajv-formats: 2.1.1 @@ -166,42 +166,42 @@ __metadata: peerDependenciesMeta: chokidar: optional: true - checksum: 5142407364d3be1aa519d0d1bd030da017d07379e28c9c926968146dd85434bbf24837a84bffc283b88534cb0b571ef62a0351211a84a0ba1e81635e783face6 + checksum: 9db0a096570f05699372b2ef66b49c26fba46488a76ccfded603aeab1ac8c062e158edf0fcb153bac4a44247c4912d740788732dc8d81d99f79240095b0f88d9 languageName: node linkType: hard -"@angular-devkit/schematics@npm:16.0.3": - version: 16.0.3 - resolution: "@angular-devkit/schematics@npm:16.0.3" +"@angular-devkit/schematics@npm:16.0.5": + version: 16.0.5 + resolution: "@angular-devkit/schematics@npm:16.0.5" dependencies: - "@angular-devkit/core": 16.0.3 + "@angular-devkit/core": 16.0.5 jsonc-parser: 3.2.0 magic-string: 0.30.0 ora: 5.4.1 rxjs: 7.8.1 - checksum: 9be337b25fd8bed02fcb43279d2545f223661fc683eaf08ffa35d8cad4c9fa58b78c11257b61274a17023854b02896a83254ca0ce238b7ff6da72f817cb0eb77 + checksum: 41f5deeb9cf47f5ec73643b67cf8ecd6e2af3c283151d8c3d412aed804a80c0bcd154bda3655bedce3600d1215abe4683de60a7b65c204ea7e77050edf391fe0 languageName: node linkType: hard "@angular/animations@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/animations@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/animations@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.3 - checksum: 8a90732d7017041a5ad33acfe2cb1ba3ac8b822aa2081964b99cb029601c19092188aca0215a8c7dba74af7c7c103ce8a119bc95ed9fa24830ed1ab8cfb94f4e + "@angular/core": 16.0.4 + checksum: e159eb0bafead869395d1af58e0702738e5919b89020d2be3b41039ba9e285829724db123960771bca30c811f548ba75a6e9bf3d4a898456b0506fcca3c1f07e languageName: node linkType: hard "@angular/cli@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/cli@npm:16.0.3" + version: 16.0.5 + resolution: "@angular/cli@npm:16.0.5" dependencies: - "@angular-devkit/architect": 0.1600.3 - "@angular-devkit/core": 16.0.3 - "@angular-devkit/schematics": 16.0.3 - "@schematics/angular": 16.0.3 + "@angular-devkit/architect": 0.1600.5 + "@angular-devkit/core": 16.0.5 + "@angular-devkit/schematics": 16.0.5 + "@schematics/angular": 16.0.5 "@yarnpkg/lockfile": 1.1.0 ansi-colors: 4.1.3 ini: 4.0.0 @@ -218,25 +218,25 @@ __metadata: yargs: 17.7.2 bin: ng: bin/ng.js - checksum: 531d485d3a3baa571c74541f22416d8bc8c366d82e85f18e6b870cb793553ab62064c75157a8677b844b7fe5f48ae60fae483f606eb0644f88ec92895f30f558 + checksum: 34b5e47b82558e44c6ca1e9a9aa89223463be6dbb2abb5b8b274a8dcf09fa1c259c0a5b1b2e325193865bae1083fe98a27274dd5fb7672ef3da53e3daf04561c languageName: node linkType: hard "@angular/common@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/common@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/common@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.3 + "@angular/core": 16.0.4 rxjs: ^6.5.3 || ^7.4.0 - checksum: c175f4812b53153cc3bcfdbfc3711aede4af950dcab8f0781ae9a9476ec10e98cbbdfef616454ed6ce7b05e2032bf923d353f4a33b8fae9decfb13180ff31b46 + checksum: aae1bcb1bd2c0c79477c7585349026a16f7356dc70a3bd896140fe947fb45faaf104c5bfe110fd08aa5f8d09a4c19c56d5bc641c309e95e0b68140b594f19050 languageName: node linkType: hard "@angular/compiler-cli@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/compiler-cli@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/compiler-cli@npm:16.0.4" dependencies: "@babel/core": 7.21.8 "@jridgewell/sourcemap-codec": ^1.4.14 @@ -247,27 +247,27 @@ __metadata: tslib: ^2.3.0 yargs: ^17.2.1 peerDependencies: - "@angular/compiler": 16.0.3 + "@angular/compiler": 16.0.4 typescript: ">=4.9.3 <5.1" bin: ng-xi18n: bundles/src/bin/ng_xi18n.js ngc: bundles/src/bin/ngc.js ngcc: bundles/ngcc/index.js - checksum: f577d9b2b4946e6c770073aeb16399e3291379f26e7435f95c4a398cbcd88e5001290fd65e249d36418a5ac7e645ae359110d7601f688d9a30f563428300e24d + checksum: 32b9d8b2f4b0d1d72c6e535667d2cd8c6648ec6ff536d0b531d242bef8b3c9ff53c5626556df94915f39b03284d275ef5a137a740901f91a45ea2388047d188d languageName: node linkType: hard "@angular/compiler@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/compiler@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/compiler@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.3 + "@angular/core": 16.0.4 peerDependenciesMeta: "@angular/core": optional: true - checksum: 704d6d815fb85f708ee8127b7ef04dc5c29ad69184e8920a449da1a15b6a0a43d4d4145d03ebdc5cfe3822dd64217fe9598795805aeed41566c84661f96a9f83 + checksum: e01a232d4ceed5e5b9437241b4e233a4ae7e7d7c4131731fca742f0ec811763b9ebde889159d2c4a7f5b09250b3f0f4d26f61b1eb6abcc568fbe4230203eae28 languageName: node linkType: hard @@ -284,28 +284,28 @@ __metadata: linkType: hard "@angular/core@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/core@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/core@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.13.0 - checksum: 6b57f426ba476220d7723fb4749aaecd941e96641c30c2a472c36e7e6d10cddfac679fbceb261ef8147adb41ddbc80cd275ad4fd8e6f1e8c218bf12e2cd4a380 + checksum: 01422b3e4b7e787d9722c11896ef1ab4fb3908c9a9403d964710a3ecd1a4c47bca6f29b5e46b41e3a48bed6cd0193a012536761b2e94cec58f9abf85590f4497 languageName: node linkType: hard "@angular/forms@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/forms@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/forms@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/common": 16.0.3 - "@angular/core": 16.0.3 - "@angular/platform-browser": 16.0.3 + "@angular/common": 16.0.4 + "@angular/core": 16.0.4 + "@angular/platform-browser": 16.0.4 rxjs: ^6.5.3 || ^7.4.0 - checksum: b1f053183e47be5575e831bcf313641c7d474e36cc6546f271461ac91554d6cfd9abb48360d46319f7c6d470f0454bef6df04c6acd2834725cc588a874c1390d + checksum: a573723b3b66d7042d328158a6144ca76398c50af95f90b4eafc8371d2e1c8081dbed1d92c2e312023738a70b3a634d98de80d9e6056c631e25a59ddcd1f8837 languageName: node linkType: hard @@ -324,32 +324,32 @@ __metadata: linkType: hard "@angular/platform-browser-dynamic@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/platform-browser-dynamic@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/platform-browser-dynamic@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/common": 16.0.3 - "@angular/compiler": 16.0.3 - "@angular/core": 16.0.3 - "@angular/platform-browser": 16.0.3 - checksum: db507cc260c23ccf9511d5055ee28c6ef6ed6e9f4eb47097292f745ee65f25c144a2806eb560fad688b51deac3c3e6dd961042091dcfb75ae272457fe821da9b + "@angular/common": 16.0.4 + "@angular/compiler": 16.0.4 + "@angular/core": 16.0.4 + "@angular/platform-browser": 16.0.4 + checksum: 9ce810623980385e36500210183dee3d4051b2012de85ca65eba0444bb064f159481ed5e7a0b45261b663b3bed010e3a350973bdd524154836d9804908fa2a71 languageName: node linkType: hard "@angular/platform-browser@npm:^16.0.0-rc.4": - version: 16.0.3 - resolution: "@angular/platform-browser@npm:16.0.3" + version: 16.0.4 + resolution: "@angular/platform-browser@npm:16.0.4" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/animations": 16.0.3 - "@angular/common": 16.0.3 - "@angular/core": 16.0.3 + "@angular/animations": 16.0.4 + "@angular/common": 16.0.4 + "@angular/core": 16.0.4 peerDependenciesMeta: "@angular/animations": optional: true - checksum: 8dc2766f99e39b62181579f88eff13c45e35e777fc835e6a609662b1c1f480d50561a27eedd8bd6166f7914e6a4aed97a7e5a8a4f87126162fa1b5acb55460cd + checksum: 98476d38f391b6feb801405987b9e2843bce9ebbbc25f98fe27a895a2cadcf4763e95833b99d7930c734cc3fad6eadd35403694705f4401597fd693f7e19a134 languageName: node linkType: hard @@ -360,25 +360,25 @@ __metadata: languageName: node linkType: hard -"@aw-web-design/x-default-browser@npm:1.4.88": - version: 1.4.88 - resolution: "@aw-web-design/x-default-browser@npm:1.4.88" +"@aw-web-design/x-default-browser@npm:1.4.126": + version: 1.4.126 + resolution: "@aw-web-design/x-default-browser@npm:1.4.126" dependencies: default-browser-id: 3.0.0 bin: x-default-browser: bin/x-default-browser.js - checksum: ae604e01aeb226b48cad226bfce55a88a12d759d139ede20aa71ee9ed94fefe912659678ae663bb277d9c02f281f62a965bdc0adf43817b0f95d397cbf97d8b2 + checksum: 634c7fad7a5f4df86e3fcd3a11e50034fcb6f6302281569727574cbda7532850063cb34ec328384a686ab0812f297bf301a5e2450bc7b93b5f80a006b1f2dfd7 languageName: node linkType: hard "@axe-core/puppeteer@npm:^4.2.0": - version: 4.7.1 - resolution: "@axe-core/puppeteer@npm:4.7.1" + version: 4.7.2 + resolution: "@axe-core/puppeteer@npm:4.7.2" dependencies: axe-core: ^4.7.0 peerDependencies: puppeteer: ">=1.10.0" - checksum: 061040318eaf392d0ad1776fd5d5d36d6580504932489ee32b11f62cbbfdc41aa7557ec37c9d8bec9e5cf65271e0f82b31589bc832c136ae14de613ad9aafbf7 + checksum: 9d8fb34f40147d4f919abdd5a09bc12e20f135f1ae14517186e70f91dadf4841f60b0b2e4ce66b4ba5b6c71567c91502bb324334ab226ed5d4f33c1fc1054fc2 languageName: node linkType: hard @@ -502,7 +502,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.21.4, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.22.0, @babel/generator@npm:^7.7.2, @babel/generator@npm:^7.8.7": +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.21.4, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.22.0, @babel/generator@npm:^7.22.3, @babel/generator@npm:^7.7.2, @babel/generator@npm:^7.8.7": version: 7.22.3 resolution: "@babel/generator@npm:7.22.3" dependencies: @@ -797,12 +797,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.21.9, @babel/parser@npm:^7.22.0, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7, @babel/parser@npm:^7.9.6": - version: 7.22.3 - resolution: "@babel/parser@npm:7.22.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.21.9, @babel/parser@npm:^7.22.0, @babel/parser@npm:^7.22.4, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7, @babel/parser@npm:^7.9.6": + version: 7.22.4 + resolution: "@babel/parser@npm:7.22.4" bin: parser: ./bin/babel-parser.js - checksum: 292049a0446bf23756e14eefc407e6557319cccae3226f4e720800a115a56e6201bd041b8a4d97bac8fb61dee4d8043cf2df898af1b07efe7190e8a33fc5a764 + checksum: 86e2abfb60faf523dc97d19f41388d8e46c02af306374618d638c960a49e74f8c23ef73032b5bde6011d64ee23820388427bd1d00a54be68f2e4545fa0c5b9bb languageName: node linkType: hard @@ -817,7 +817,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.20.7, @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.0": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.20.7, @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.3" dependencies: @@ -1009,8 +1009,8 @@ __metadata: linkType: hard "@babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0" + version: 7.21.11 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.11" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-create-class-features-plugin": ^7.21.0 @@ -1018,7 +1018,7 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 576ec99964c50435a81dfe4178d064df9aa86628090d69bae8759332b9a2b5a0a8575a6f51db915c3751949cd29990b8b3a80c6afc228a0664f4237b7b60d667 + checksum: 3c8c9ea175101b1cbb2b0e8fee20fcbdd03eb0700d3581aa826ac3573c9b002f39b1512c2af9fd1903ff921bcc864da95ad3cdeba53c9fbcfb3dc23916eacf47 languageName: node linkType: hard @@ -1133,7 +1133,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.22.0": +"@babel/plugin-syntax-import-attributes@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.3" dependencies: @@ -1299,7 +1299,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.22.0": +"@babel/plugin-transform-async-generator-functions@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.3" dependencies: @@ -1348,7 +1348,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.0": +"@babel/plugin-transform-class-properties@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-class-properties@npm:7.22.3" dependencies: @@ -1360,7 +1360,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.22.0": +"@babel/plugin-transform-class-static-block@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-class-static-block@npm:7.22.3" dependencies: @@ -1462,7 +1462,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.22.0": +"@babel/plugin-transform-export-namespace-from@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.3" dependencies: @@ -1510,7 +1510,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.22.0": +"@babel/plugin-transform-json-strings@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-json-strings@npm:7.22.3" dependencies: @@ -1533,7 +1533,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.0": +"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.3" dependencies: @@ -1581,7 +1581,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.20.11, @babel/plugin-transform-modules-systemjs@npm:^7.22.0": +"@babel/plugin-transform-modules-systemjs@npm:^7.20.11, @babel/plugin-transform-modules-systemjs@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.3" dependencies: @@ -1607,7 +1607,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.20.5, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.0": +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.20.5, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.3" dependencies: @@ -1619,7 +1619,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.18.6, @babel/plugin-transform-new-target@npm:^7.22.0": +"@babel/plugin-transform-new-target@npm:^7.18.6, @babel/plugin-transform-new-target@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-new-target@npm:7.22.3" dependencies: @@ -1630,7 +1630,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.0": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.3" dependencies: @@ -1642,7 +1642,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.22.0": +"@babel/plugin-transform-numeric-separator@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.3" dependencies: @@ -1665,7 +1665,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.22.0": +"@babel/plugin-transform-object-rest-spread@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.3" dependencies: @@ -1692,7 +1692,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.22.0": +"@babel/plugin-transform-optional-catch-binding@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.3" dependencies: @@ -1704,7 +1704,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.22.0, @babel/plugin-transform-optional-chaining@npm:^7.22.3": +"@babel/plugin-transform-optional-chaining@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.3" dependencies: @@ -1717,7 +1717,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.21.3, @babel/plugin-transform-parameters@npm:^7.22.0, @babel/plugin-transform-parameters@npm:^7.22.3": +"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.21.3, @babel/plugin-transform-parameters@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-parameters@npm:7.22.3" dependencies: @@ -1728,7 +1728,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.0": +"@babel/plugin-transform-private-methods@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-private-methods@npm:7.22.3" dependencies: @@ -1740,7 +1740,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.22.0": +"@babel/plugin-transform-private-property-in-object@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.3" dependencies: @@ -1876,18 +1876,18 @@ __metadata: linkType: hard "@babel/plugin-transform-runtime@npm:^7.13.9, @babel/plugin-transform-runtime@npm:^7.22.0": - version: 7.22.2 - resolution: "@babel/plugin-transform-runtime@npm:7.22.2" + version: 7.22.4 + resolution: "@babel/plugin-transform-runtime@npm:7.22.4" dependencies: "@babel/helper-module-imports": ^7.21.4 "@babel/helper-plugin-utils": ^7.21.5 - babel-plugin-polyfill-corejs2: ^0.4.2 + babel-plugin-polyfill-corejs2: ^0.4.3 babel-plugin-polyfill-corejs3: ^0.8.1 babel-plugin-polyfill-regenerator: ^0.5.0 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5c9d17014a68b4bb6573330159d1377eebfa2665804e3315c3900d17e5eadb3f1cc273b1143890b74dd8c35924adc7ce0ec211c2bc10bda48a5bb08bee378064 + checksum: b884aa6651a8f313948180d855d41c8a6bab50b7d8e1998b3efbd9d75548eded3625d063a711148e95b369499770072669b7af1b90b35fa3879ffa15a902438b languageName: node linkType: hard @@ -1972,7 +1972,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.22.0": +"@babel/plugin-transform-unicode-property-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.3" dependencies: @@ -1996,7 +1996,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.0": +"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.3" dependencies: @@ -2008,7 +2008,7 @@ __metadata: languageName: node linkType: hard -"@babel/polyfill@npm:^7.11.5, @babel/polyfill@npm:^7.2.5": +"@babel/polyfill@npm:^7.11.5": version: 7.12.1 resolution: "@babel/polyfill@npm:7.12.1" dependencies: @@ -2104,15 +2104,15 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.16.5, @babel/preset-env@npm:^7.22.0": - version: 7.22.2 - resolution: "@babel/preset-env@npm:7.22.2" + version: 7.22.4 + resolution: "@babel/preset-env@npm:7.22.4" dependencies: - "@babel/compat-data": ^7.22.0 + "@babel/compat-data": ^7.22.3 "@babel/helper-compilation-targets": ^7.22.1 "@babel/helper-plugin-utils": ^7.21.5 "@babel/helper-validator-option": ^7.21.0 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.18.6 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.0 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.3 "@babel/plugin-proposal-private-property-in-object": ^7.21.0 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 @@ -2120,7 +2120,7 @@ __metadata: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 "@babel/plugin-syntax-import-assertions": ^7.20.0 - "@babel/plugin-syntax-import-attributes": ^7.22.0 + "@babel/plugin-syntax-import-attributes": ^7.22.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/plugin-syntax-json-strings": ^7.8.3 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 @@ -2133,12 +2133,12 @@ __metadata: "@babel/plugin-syntax-top-level-await": ^7.14.5 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 "@babel/plugin-transform-arrow-functions": ^7.21.5 - "@babel/plugin-transform-async-generator-functions": ^7.22.0 + "@babel/plugin-transform-async-generator-functions": ^7.22.3 "@babel/plugin-transform-async-to-generator": ^7.20.7 "@babel/plugin-transform-block-scoped-functions": ^7.18.6 "@babel/plugin-transform-block-scoping": ^7.21.0 - "@babel/plugin-transform-class-properties": ^7.22.0 - "@babel/plugin-transform-class-static-block": ^7.22.0 + "@babel/plugin-transform-class-properties": ^7.22.3 + "@babel/plugin-transform-class-static-block": ^7.22.3 "@babel/plugin-transform-classes": ^7.21.0 "@babel/plugin-transform-computed-properties": ^7.21.5 "@babel/plugin-transform-destructuring": ^7.21.3 @@ -2146,28 +2146,28 @@ __metadata: "@babel/plugin-transform-duplicate-keys": ^7.18.9 "@babel/plugin-transform-dynamic-import": ^7.22.1 "@babel/plugin-transform-exponentiation-operator": ^7.18.6 - "@babel/plugin-transform-export-namespace-from": ^7.22.0 + "@babel/plugin-transform-export-namespace-from": ^7.22.3 "@babel/plugin-transform-for-of": ^7.21.5 "@babel/plugin-transform-function-name": ^7.18.9 - "@babel/plugin-transform-json-strings": ^7.22.0 + "@babel/plugin-transform-json-strings": ^7.22.3 "@babel/plugin-transform-literals": ^7.18.9 - "@babel/plugin-transform-logical-assignment-operators": ^7.22.0 + "@babel/plugin-transform-logical-assignment-operators": ^7.22.3 "@babel/plugin-transform-member-expression-literals": ^7.18.6 "@babel/plugin-transform-modules-amd": ^7.20.11 "@babel/plugin-transform-modules-commonjs": ^7.21.5 - "@babel/plugin-transform-modules-systemjs": ^7.22.0 + "@babel/plugin-transform-modules-systemjs": ^7.22.3 "@babel/plugin-transform-modules-umd": ^7.18.6 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.0 - "@babel/plugin-transform-new-target": ^7.22.0 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.0 - "@babel/plugin-transform-numeric-separator": ^7.22.0 - "@babel/plugin-transform-object-rest-spread": ^7.22.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.3 + "@babel/plugin-transform-new-target": ^7.22.3 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.3 + "@babel/plugin-transform-numeric-separator": ^7.22.3 + "@babel/plugin-transform-object-rest-spread": ^7.22.3 "@babel/plugin-transform-object-super": ^7.18.6 - "@babel/plugin-transform-optional-catch-binding": ^7.22.0 - "@babel/plugin-transform-optional-chaining": ^7.22.0 - "@babel/plugin-transform-parameters": ^7.22.0 - "@babel/plugin-transform-private-methods": ^7.22.0 - "@babel/plugin-transform-private-property-in-object": ^7.22.0 + "@babel/plugin-transform-optional-catch-binding": ^7.22.3 + "@babel/plugin-transform-optional-chaining": ^7.22.3 + "@babel/plugin-transform-parameters": ^7.22.3 + "@babel/plugin-transform-private-methods": ^7.22.3 + "@babel/plugin-transform-private-property-in-object": ^7.22.3 "@babel/plugin-transform-property-literals": ^7.18.6 "@babel/plugin-transform-regenerator": ^7.21.5 "@babel/plugin-transform-reserved-words": ^7.18.6 @@ -2177,19 +2177,19 @@ __metadata: "@babel/plugin-transform-template-literals": ^7.18.9 "@babel/plugin-transform-typeof-symbol": ^7.18.9 "@babel/plugin-transform-unicode-escapes": ^7.21.5 - "@babel/plugin-transform-unicode-property-regex": ^7.22.0 + "@babel/plugin-transform-unicode-property-regex": ^7.22.3 "@babel/plugin-transform-unicode-regex": ^7.18.6 - "@babel/plugin-transform-unicode-sets-regex": ^7.22.0 + "@babel/plugin-transform-unicode-sets-regex": ^7.22.3 "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.22.0 - babel-plugin-polyfill-corejs2: ^0.4.2 + "@babel/types": ^7.22.4 + babel-plugin-polyfill-corejs2: ^0.4.3 babel-plugin-polyfill-corejs3: ^0.8.1 babel-plugin-polyfill-regenerator: ^0.5.0 core-js-compat: ^3.30.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2b43f6c940fa0481a280cb344af92d2e692ff704e99860090cfdeb9e12b1f4ca43199b182c5f7c660f34b9c62aa564893bb94922934f26a20beec1c4190d3847 + checksum: 1a17ead679aed23112d3e0cdc6f9fbb60ec4a6a411de25f447bb25d8c64a9e5fc63547fad10f87b68ad09512d500a37aed1e9a62c9f05f3003da3e178476d3cb languageName: node linkType: hard @@ -2363,31 +2363,31 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.21.4, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.22.0, @babel/traverse@npm:^7.22.1, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2, @babel/traverse@npm:^7.8.6": - version: 7.22.1 - resolution: "@babel/traverse@npm:7.22.1" + version: 7.22.4 + resolution: "@babel/traverse@npm:7.22.4" dependencies: "@babel/code-frame": ^7.21.4 - "@babel/generator": ^7.22.0 + "@babel/generator": ^7.22.3 "@babel/helper-environment-visitor": ^7.22.1 "@babel/helper-function-name": ^7.21.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.22.0 - "@babel/types": ^7.22.0 + "@babel/parser": ^7.22.4 + "@babel/types": ^7.22.4 debug: ^4.1.0 globals: ^11.1.0 - checksum: 4d5d4cfc86fede010631eda9486be023cb2d379f42ab953b2d00c5b19c262931377a100d758ca9fc173405d64534bd53765a1bc3f5cbe544c4a784f31e6d37e5 + checksum: 350ddd9bc9f1243f44c552503a31e09d8bdf24e692c1836de91ac773006890fcaa1de32ea620ac86568795f9c80e39229781f2dca4a95bd35a777203c5210370 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.0, @babel/types@npm:^7.22.3, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7, @babel/types@npm:^7.9.6": - version: 7.22.3 - resolution: "@babel/types@npm:7.22.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.0, @babel/types@npm:^7.22.3, @babel/types@npm:^7.22.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7, @babel/types@npm:^7.9.6": + version: 7.22.4 + resolution: "@babel/types@npm:7.22.4" dependencies: "@babel/helper-string-parser": ^7.21.5 "@babel/helper-validator-identifier": ^7.19.1 to-fast-properties: ^2.0.0 - checksum: 16977448dc39b091f155695a6bfe91bf1b7016b96b63a74817618d165fe684edcf589565656ee2fddc370c03985c42c0d5ce58d2b7e6be32abfb0fc1a556aaac + checksum: 6e62674eec13b6dbef38168b09638642105483b1a026c8b517a2fe3cee0e37e457d976e82d42dd4ff475cfff4f44e337215bdf6b184662841b19edf7268c6d04 languageName: node linkType: hard @@ -2615,8 +2615,8 @@ __metadata: linkType: hard "@emotion/react@npm:^11.10.4": - version: 11.11.0 - resolution: "@emotion/react@npm:11.11.0" + version: 11.11.1 + resolution: "@emotion/react@npm:11.11.1" dependencies: "@babel/runtime": ^7.18.3 "@emotion/babel-plugin": ^11.11.0 @@ -2631,7 +2631,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: c287fdef680c6cc95c021d2ccd48891052cd97edfe371ef0c0a9aa78f1cb764587c80a50e9f22eb943f522258dc4d7b80c4778c45331720e330e338db32f8a95 + checksum: 1aea4d735b537fbfbeda828bbf929488a7e1b5b7d131f14aeede8737e92bb3b611e15fec353e97f85aed7a65a1c86a695a04ba6e9be905231beef6bd624cb705 languageName: node linkType: hard @@ -2894,10 +2894,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.41.0": - version: 8.41.0 - resolution: "@eslint/js@npm:8.41.0" - checksum: 41cf403ccebbc90315c7190bd901fa17975327022146b2db8c846ec5b11d04c56b33ccf9064b9da7349068e96bef8f322423fbcce700d815b4097fd808aaa4c6 +"@eslint/js@npm:8.42.0": + version: 8.42.0 + resolution: "@eslint/js@npm:8.42.0" + checksum: 4ae46df1f32095cf9527d1f6a8a30512151f8eb66dd883a226face17c9e7cfdd2dcb3d4e3124fb67ac5801e0a776b1d7bba368276cfb1e1e4eefb047e38b41d6 languageName: node linkType: hard @@ -2908,13 +2908,49 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": +"@gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" checksum: 0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff languageName: node linkType: hard +"@gitbeaker/core@npm:^21.7.0": + version: 21.7.0 + resolution: "@gitbeaker/core@npm:21.7.0" + dependencies: + "@gitbeaker/requester-utils": ^21.7.0 + form-data: ^3.0.0 + li: ^1.3.0 + xcase: ^2.0.1 + checksum: 907f1dac7f43e288c71f184243712a65601a88ab7c9a8b7ff76629d8d94360c31f995b8142dec324615ad50f7e78e12f646a4302cb595dc990da3cdbd2514dfe + languageName: node + linkType: hard + +"@gitbeaker/node@npm:^21.3.0": + version: 21.7.0 + resolution: "@gitbeaker/node@npm:21.7.0" + dependencies: + "@gitbeaker/core": ^21.7.0 + "@gitbeaker/requester-utils": ^21.7.0 + form-data: ^3.0.0 + got: ^11.1.4 + xcase: ^2.0.1 + checksum: c5be30593dae749271f8529a0e33a1831f173d7e39796c9e30206a71e3007cc6368c802d296f1a8fcca056a8e718c77f50ae61aa17de8e444f0c91bf1a05950c + languageName: node + linkType: hard + +"@gitbeaker/requester-utils@npm:^21.7.0": + version: 21.7.0 + resolution: "@gitbeaker/requester-utils@npm:21.7.0" + dependencies: + form-data: ^3.0.0 + query-string: ^6.12.1 + xcase: ^2.0.1 + checksum: 1930783d67a8add51bd6056e0524facfc867fb73d78387af4259a166a5e725eaa64a4c22c0fe33538762b0abb496781bf39d95fc8d544825354254dd05e05271 + languageName: node + linkType: hard + "@glimmer/vm-babel-plugins@npm:0.80.3": version: 0.80.3 resolution: "@glimmer/vm-babel-plugins@npm:0.80.3" @@ -2985,15 +3021,6 @@ __metadata: languageName: node linkType: hard -"@graphql-typed-document-node/core@npm:^3.1.0": - version: 3.2.0 - resolution: "@graphql-typed-document-node/core@npm:3.2.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 94e9d75c1f178bbae8d874f5a9361708a3350c8def7eaeb6920f2c820e82403b7d4f55b3735856d68e145e86c85cbfe2adc444fdc25519cd51f108697e99346c - languageName: node - linkType: hard - "@hapi/accept@npm:^5.0.1": version: 5.0.2 resolution: "@hapi/accept@npm:5.0.2" @@ -3316,14 +3343,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.8": - version: 0.11.8 - resolution: "@humanwhocodes/config-array@npm:0.11.8" +"@humanwhocodes/config-array@npm:^0.11.10": + version: 0.11.10 + resolution: "@humanwhocodes/config-array@npm:0.11.10" dependencies: "@humanwhocodes/object-schema": ^1.2.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: 441223496cc5ae3ae443e11e2ba05f03f6418d1e0233e3d160b027dda742d7a957fa9e1d56125d5829079419c797c13e1ae8ffe3454f268901ac18f68e0198f1 + checksum: 9e307a49a5baa28beb243d2c14c145f288fccd6885f4c92a9055707057ec40980242256b2a07c976cfa6c75f7081da111a40a9844d1ca8daeff2302f8b640e76 languageName: node linkType: hard @@ -3460,30 +3487,6 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/environment@npm:26.6.2" - dependencies: - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/node": "*" - jest-mock: ^26.6.2 - checksum: b489afb2fa9bbde360f222bc905abd9abd77ae5802b16ca7a34d018405ad7df57a506c01efae8ff8b566c211314ec74b3f37a1cb850623e15eb1e6d020582197 - languageName: node - linkType: hard - -"@jest/environment@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/environment@npm:28.1.3" - dependencies: - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - jest-mock: ^28.1.3 - checksum: 910b8863f300e0627c8f7bf6280fe51da25060e72ac1179d959cce74907b048e64042ad192800259a037dc52faa2e361e778a94df223cf1b17a315e5eec5471e - languageName: node - linkType: hard - "@jest/environment@npm:^29.5.0": version: 29.5.0 resolution: "@jest/environment@npm:29.5.0" @@ -3515,34 +3518,6 @@ __metadata: languageName: node linkType: hard -"@jest/fake-timers@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/fake-timers@npm:26.6.2" - dependencies: - "@jest/types": ^26.6.2 - "@sinonjs/fake-timers": ^6.0.1 - "@types/node": "*" - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: 861b033ead8c749f0fecffb84cbe88603291d9db66129494d0059dee101616a2aa646fc32c8cab468826eeb32647d2b0b4f72869f048163cb3406ddd2902ece0 - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/fake-timers@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@sinonjs/fake-timers": ^9.1.2 - "@types/node": "*" - jest-message-util: ^28.1.3 - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - checksum: 70ca341df62bf51a9bed653743dfc17011df58995520b51730ee7f5aef26a0295a5f5b58e838e6dbace998de417aa1c3a77d6de1590b53065475a195601552c6 - languageName: node - linkType: hard - "@jest/fake-timers@npm:^29.5.0": version: 29.5.0 resolution: "@jest/fake-timers@npm:29.5.0" @@ -3557,17 +3532,6 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/globals@npm:26.6.2" - dependencies: - "@jest/environment": ^26.6.2 - "@jest/types": ^26.6.2 - expect: ^26.6.2 - checksum: 6516baa19339a62c8f5eeb2ef3871bfa5bd5645016f1eb87dbe52a37658e7b33b836a1325ba40db250df5d06c08dd1cb1532fbfac5712f4041561525b59bb03f - languageName: node - linkType: hard - "@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0": version: 29.5.0 resolution: "@jest/globals@npm:29.5.0" @@ -3617,15 +3581,6 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/schemas@npm:28.1.3" - dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 8c325918f3e1b83e687987b05c2e5143d171f372b091f891fe17835f06fadd864ddae3c7e221a704bdd7e2ea28c4b337124c02023d8affcbdd51eca2879162ac - languageName: node - linkType: hard - "@jest/schemas@npm:^29.4.3": version: 29.4.3 resolution: "@jest/schemas@npm:29.4.3" @@ -3719,20 +3674,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/types@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 3cffae7d1133aa7952a6b5c4806f89ed78cb0dfe3ec4e8c5a6e704d7bab3cff86c714abb5f0f637540da22776900a33b3bad79c5ed5fc5b5535fb24e3006e3cb - languageName: node - linkType: hard - "@jest/types@npm:^29.5.0": version: 29.5.0 resolution: "@jest/types@npm:29.5.0" @@ -3797,7 +3738,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.2": +"@jridgewell/source-map@npm:^0.3.2, @jridgewell/source-map@npm:^0.3.3": version: 0.3.3 resolution: "@jridgewell/source-map@npm:0.3.3" dependencies: @@ -3957,17 +3898,6 @@ __metadata: languageName: node linkType: hard -"@linear/sdk@npm:^1.21.0": - version: 1.22.0 - resolution: "@linear/sdk@npm:1.22.0" - dependencies: - "@graphql-typed-document-node/core": ^3.1.0 - graphql: ^15.4.0 - isomorphic-unfetch: ^3.1.0 - checksum: 7e8f24f617631d027fd606334a498b04014d4c33603bcb3e08073d14f86260d116597983567f8bc147a935e4557180158175b52b9a9a8a270a234b946894a82b - languageName: node - linkType: hard - "@lit-labs/ssr-dom-shim@npm:^1.0.0, @lit-labs/ssr-dom-shim@npm:^1.1.0": version: 1.1.1 resolution: "@lit-labs/ssr-dom-shim@npm:1.1.1" @@ -3976,11 +3906,11 @@ __metadata: linkType: hard "@lit/reactive-element@npm:^1.3.0, @lit/reactive-element@npm:^1.4.0": - version: 1.6.1 - resolution: "@lit/reactive-element@npm:1.6.1" + version: 1.6.2 + resolution: "@lit/reactive-element@npm:1.6.2" dependencies: "@lit-labs/ssr-dom-shim": ^1.0.0 - checksum: 054b4c9f39e273381509405fa9aa81be3cd7a702663de7d052d3c7ceebfbecf40dce0d4634c31832a01d112647531186963ac4c32d3ff82af74b372608831670 + checksum: 2845fa086553c131f41cf58ad3bc0ed4c9b24b3d92d8151936086d385cc5295a79da4113ae06a9a39b5f3184f43b2b85d801520c4114c13ca8e730289276a6a6 languageName: node linkType: hard @@ -4077,14 +4007,14 @@ __metadata: languageName: node linkType: hard -"@ngtools/webpack@npm:16.0.3": - version: 16.0.3 - resolution: "@ngtools/webpack@npm:16.0.3" +"@ngtools/webpack@npm:16.0.5": + version: 16.0.5 + resolution: "@ngtools/webpack@npm:16.0.5" peerDependencies: "@angular/compiler-cli": ^16.0.0 typescript: ">=4.9.3 <5.1" webpack: ^5.54.0 - checksum: 85bd435169e3948820d844c28c65771ea7a31aef9bc159d666aa07811ecd4668930ac681d3327612eef2ac6a73854ae6a4d0c93473d1c52dd6b4bc1b57a4191c + checksum: 5a8d7694351142f5e55fb01429849bf5182698017814cbc75b3fb5352d9ea1c851ec28698f0caf477e664f6072b81a22df2d5619e667e3957f92c2f7c6e5be87 languageName: node linkType: hard @@ -4158,16 +4088,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^1.0.0": - version: 1.1.1 - resolution: "@npmcli/fs@npm:1.1.1" - dependencies: - "@gar/promisify": ^1.0.1 - semver: ^7.3.5 - checksum: 4143c317a7542af9054018b71601e3c3392e6704e884561229695f099a71336cbd580df9a9ffb965d0024bf0ed593189ab58900fd1714baef1c9ee59c738c3e2 - languageName: node - linkType: hard - "@npmcli/fs@npm:^2.1.0": version: 2.1.2 resolution: "@npmcli/fs@npm:2.1.2" @@ -4187,9 +4107,9 @@ __metadata: languageName: node linkType: hard -"@npmcli/git@npm:^4.0.0": - version: 4.0.4 - resolution: "@npmcli/git@npm:4.0.4" +"@npmcli/git@npm:^4.0.0, @npmcli/git@npm:^4.1.0": + version: 4.1.0 + resolution: "@npmcli/git@npm:4.1.0" dependencies: "@npmcli/promise-spawn": ^6.0.0 lru-cache: ^7.4.4 @@ -4199,7 +4119,7 @@ __metadata: promise-retry: ^2.0.1 semver: ^7.3.5 which: ^3.0.0 - checksum: 42a2a600c380adf141b6fe01a41ebbaab4c0f5541af58a79e66d7c62acca08ec1f5a9f0a636e3c63dad47000c4a80496b912f18a3af58f1a40624f283ef3fd00 + checksum: 78591ba8f03de3954a5b5b83533455696635a8f8140c74038685fec4ee28674783a5b34a3d43840b2c5f9aa37fd0dce57eaf4ef136b52a8ec2ee183af2e40724 languageName: node linkType: hard @@ -4239,16 +4159,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" - dependencies: - mkdirp: ^1.0.4 - rimraf: ^3.0.2 - checksum: 02e946f3dafcc6743132fe2e0e2b585a96ca7265653a38df5a3e53fcf26c7c7a57fc0f861d7c689a23fdb6d6836c7eea5050c8086abf3c994feb2208d1514ff0 - languageName: node - linkType: hard - "@npmcli/move-file@npm:^2.0.0": version: 2.0.1 resolution: "@npmcli/move-file@npm:2.0.1" @@ -4281,14 +4191,16 @@ __metadata: linkType: hard "@npmcli/package-json@npm:^3.0.0": - version: 3.1.0 - resolution: "@npmcli/package-json@npm:3.1.0" + version: 3.1.1 + resolution: "@npmcli/package-json@npm:3.1.1" dependencies: + "@npmcli/git": ^4.1.0 glob: ^10.2.2 json-parse-even-better-errors: ^3.0.0 normalize-package-data: ^5.0.0 npm-normalize-package-bin: ^3.0.1 - checksum: e2d054a3c012fd180864d60afb2e66f2e8b0c5bb4ecad97371d288ff23fc668765be3c55e60c8b9cfb0231904536f639fdc5e9e37dd0e329ce8cf41bc87733a7 + proc-log: ^3.0.0 + checksum: fc3052a36cb65c011da75dfdb051b631557e5ccc7b25b64be87cb363e8f2e99d78fcf94495f456406ada2c75afaff8177a2a06a46594f15eb0b4e667110a415e languageName: node linkType: hard @@ -4598,11 +4510,9 @@ __metadata: linkType: hard "@octokit/auth-token@npm:^3.0.0": - version: 3.0.3 - resolution: "@octokit/auth-token@npm:3.0.3" - dependencies: - "@octokit/types": ^9.0.0 - checksum: ff33a5bbfcef8f9303d5fb7fd4757828490efe893ebe894f4ae5faa7bd37cc8d732408ce5f565bb6ad476f0d601ac3205b2256077530caebc7bac80dab8e4770 + version: 3.0.4 + resolution: "@octokit/auth-token@npm:3.0.4" + checksum: abdf5e2da36344de9727c70ba782d58004f5ae1da0f65fa9bc9216af596ef23c0e4675f386df2f6886806612558091d603564051b693b0ad1986aa6160b7a231 languageName: node linkType: hard @@ -4722,15 +4632,6 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^1.1.1": - version: 1.1.2 - resolution: "@octokit/plugin-paginate-rest@npm:1.1.2" - dependencies: - "@octokit/types": ^2.0.1 - checksum: c0b42a7eb92c6b3fb254e85750fe48b667682be277dc9ccafbb91da241fc18396867739b058ae89d48455b3e75eb2967ac5e196fe54a276b58ed56173f5cd188 - languageName: node - linkType: hard - "@octokit/plugin-paginate-rest@npm:^2.16.8, @octokit/plugin-paginate-rest@npm:^2.2.0": version: 2.21.3 resolution: "@octokit/plugin-paginate-rest@npm:2.21.3" @@ -4762,16 +4663,6 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:2.4.0": - version: 2.4.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:2.4.0" - dependencies: - "@octokit/types": ^2.0.1 - deprecation: ^2.3.1 - checksum: eedb9e6c3589651a391aa2c850d33fbfb01c94448d5da85b6208ff1fc05d556b05e660db019306c473149727ed83c5711f138179a39651d2cd548a8da2c4bc73 - languageName: node - linkType: hard - "@octokit/plugin-rest-endpoint-methods@npm:3.17.0": version: 3.17.0 resolution: "@octokit/plugin-rest-endpoint-methods@npm:3.17.0" @@ -4806,17 +4697,6 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^1.0.2": - version: 1.2.1 - resolution: "@octokit/request-error@npm:1.2.1" - dependencies: - "@octokit/types": ^2.0.0 - deprecation: ^2.0.0 - once: ^1.4.0 - checksum: 0142170094b5c963de7012aa7d081c3aa05ce19ccd365447c9ca57d475bdf64a79549cb2d5e14348deabdb3c6577966e5f6996eeaa5ea3750b87688cc1c0a0f1 - languageName: node - linkType: hard - "@octokit/request-error@npm:^2.0.5, @octokit/request-error@npm:^2.1.0": version: 2.1.0 resolution: "@octokit/request-error@npm:2.1.0" @@ -4839,7 +4719,7 @@ __metadata: languageName: node linkType: hard -"@octokit/request@npm:^5.2.0, @octokit/request@npm:^5.4.0, @octokit/request@npm:^5.6.0, @octokit/request@npm:^5.6.3": +"@octokit/request@npm:^5.4.0, @octokit/request@npm:^5.6.0, @octokit/request@npm:^5.6.3": version: 5.6.3 resolution: "@octokit/request@npm:5.6.3" dependencies: @@ -4879,7 +4759,7 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^16.43.0 || ^17.11.0 || ^18.12.0": +"@octokit/rest@npm:^16.43.0 || ^17.11.0 || ^18.12.0, @octokit/rest@npm:^18.12.0": version: 18.12.0 resolution: "@octokit/rest@npm:18.12.0" dependencies: @@ -4891,30 +4771,6 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^16.43.1": - version: 16.43.2 - resolution: "@octokit/rest@npm:16.43.2" - dependencies: - "@octokit/auth-token": ^2.4.0 - "@octokit/plugin-paginate-rest": ^1.1.1 - "@octokit/plugin-request-log": ^1.0.0 - "@octokit/plugin-rest-endpoint-methods": 2.4.0 - "@octokit/request": ^5.2.0 - "@octokit/request-error": ^1.0.2 - atob-lite: ^2.0.0 - before-after-hook: ^2.0.0 - btoa-lite: ^1.0.0 - deprecation: ^2.0.0 - lodash.get: ^4.4.2 - lodash.set: ^4.3.2 - lodash.uniq: ^4.5.0 - octokit-pagination-methods: ^1.1.0 - once: ^1.4.0 - universal-user-agent: ^4.0.0 - checksum: 8e51e16a54dcffb007aeefa48d6dda98f84737c044e15c9e8b123765efcf546b5f3465b37e11666f502d637fac3d4c2ef770ed9e7ba7e21330d1b6d773eccde7 - languageName: node - linkType: hard - "@octokit/rest@npm:^17.1.1": version: 17.11.2 resolution: "@octokit/rest@npm:17.11.2" @@ -4927,15 +4783,6 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^2.0.0, @octokit/types@npm:^2.0.1": - version: 2.16.2 - resolution: "@octokit/types@npm:2.16.2" - dependencies: - "@types/node": ">= 8" - checksum: 8f324639ea2792f38dee104970f7d74584da6747ca41a5f709e0dcd54bc55095af3c47845a284f132ced4dec5a6d5a9c61ed77c3adaccfb5ad7f347fcb1a55b3 - languageName: node - linkType: hard - "@octokit/types@npm:^4.1.6": version: 4.1.10 resolution: "@octokit/types@npm:4.1.10" @@ -5013,19 +4860,19 @@ __metadata: languageName: node linkType: hard -"@playwright/test@npm:1.34.3": - version: 1.34.3 - resolution: "@playwright/test@npm:1.34.3" +"@playwright/test@npm:1.35.0": + version: 1.35.0 + resolution: "@playwright/test@npm:1.35.0" dependencies: "@types/node": "*" fsevents: 2.3.2 - playwright-core: 1.34.3 + playwright-core: 1.35.0 dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: b87b3666568378997e6e300c28a5062d099377f66894c2d30855ef0b574a0874f5e4e6e7d25d93f1db1e5e402ccc1a254a1c24ec829a64ec47b4c8071082c9a7 + checksum: 77594d876632e9ce8a33851fed0a9ffe1034ca216811a3b5c3925c371eddb20ceb6848f3e9b10234a025dcf7be979cddcd0285ad627ad30afbc0cf246ab74c4d languageName: node linkType: hard @@ -5101,12 +4948,12 @@ __metadata: languageName: node linkType: hard -"@prefresh/core@npm:^1.5.0": - version: 1.5.0 - resolution: "@prefresh/core@npm:1.5.0" +"@prefresh/core@npm:^1.5.1": + version: 1.5.1 + resolution: "@prefresh/core@npm:1.5.1" peerDependencies: preact: ^10.0.0 - checksum: f5ecd0d43cc000bf2da86681afdae0697e06aaea2134b7855325f9c0d32eae0bf73199cdb28e07a69c13eb55f1fe9aa21b5dc34c7cd7fe57def8e8d292e8e058 + checksum: 7a1063a65911fbfcd5b02f34911875de5ffedb02ad4dda2bf9c519193ccb38f21b65ac3a2ba0bc4d8526c847b623013e0d2c1e7a58091aee33fc95ac40f4ad14 languageName: node linkType: hard @@ -5118,22 +4965,22 @@ __metadata: linkType: hard "@prefresh/vite@npm:^2.2.8": - version: 2.3.0 - resolution: "@prefresh/vite@npm:2.3.0" + version: 2.4.0 + resolution: "@prefresh/vite@npm:2.4.0" dependencies: "@babel/core": ^7.9.6 "@prefresh/babel-plugin": 0.5.0 - "@prefresh/core": ^1.5.0 + "@prefresh/core": ^1.5.1 "@prefresh/utils": ^1.2.0 "@rollup/pluginutils": ^4.1.0 peerDependencies: preact: ^10.4.0 vite: ">=2.0.0-beta.3" - checksum: 03a1bfce85e66dd1c1da2b46dcd7443fc1dae7f7cf3a1ba87e3f19a53ac63ca95d04d8837e023bce417b71e6fb9a488e09d3ade88f0fd4e3c98141e6b3498e36 + checksum: c30fee28c5b4e2090fc030cd61fcfbb1140c1524366dddb23350d884cd09ed2f3b4a64ffb3a95c53e91836a0a88807e7237d541cd9655fe03849493794276147 languageName: node linkType: hard -"@rollup/pluginutils@npm:^4.1.0, @rollup/pluginutils@npm:^4.1.1, @rollup/pluginutils@npm:^4.2.0": +"@rollup/pluginutils@npm:^4.1.0, @rollup/pluginutils@npm:^4.1.1": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" dependencies: @@ -5143,14 +4990,30 @@ __metadata: languageName: node linkType: hard -"@schematics/angular@npm:16.0.3": - version: 16.0.3 - resolution: "@schematics/angular@npm:16.0.3" +"@rollup/pluginutils@npm:^5.0.2": + version: 5.0.2 + resolution: "@rollup/pluginutils@npm:5.0.2" + dependencies: + "@types/estree": ^1.0.0 + estree-walker: ^2.0.2 + picomatch: ^2.3.1 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: b06f73c15bb59418aa6fbfead5675bab2d6922e15663525ffc2eb8429530bc5add516600adb251cfbf9b60f3d12fb821cde155cb5103415154a476bd0f163432 + languageName: node + linkType: hard + +"@schematics/angular@npm:16.0.5": + version: 16.0.5 + resolution: "@schematics/angular@npm:16.0.5" dependencies: - "@angular-devkit/core": 16.0.3 - "@angular-devkit/schematics": 16.0.3 + "@angular-devkit/core": 16.0.5 + "@angular-devkit/schematics": 16.0.5 jsonc-parser: 3.2.0 - checksum: 2aed128f3384c9d12d8776bd7c92bd8f9ecaa7f916ab366a080c143ddda51105cd46d86760db50088d10bffd60312a867003c979e76066a4fdd388052080c3a8 + checksum: e7b8c733a0b5fd88bdf4278e89b26bbcc3612f8251f30879e1abe35cc40d863d444f4899e4c69922d315e57655358e7722f5a2b8f0a61e9aff8aa187976a7c9f languageName: node linkType: hard @@ -5184,10 +5047,14 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.51 - resolution: "@sinclair/typebox@npm:0.24.51" - checksum: 458131e83ca59ad3721f0abeef2aa5220aff2083767e1143d75c67c85d55ef7a212f48f394471ee6bdd2e860ba30f09a489cdd2a28a2824d5b0d1014bdfb2552 +"@sigstore/tuf@npm:^1.0.0": + version: 1.0.0 + resolution: "@sigstore/tuf@npm:1.0.0" + dependencies: + "@sigstore/protobuf-specs": ^0.1.0 + make-fetch-happen: ^11.0.1 + tuf-js: ^1.1.3 + checksum: 95251d95b42875907863f67637238c4cafe7c24d816ab01f71dc6ac07e275d8fef33c65d49a4165368c208e427119bd57737e4913dd7053cee0021195bc5655f languageName: node linkType: hard @@ -5214,12 +5081,10 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": - version: 1.8.6 - resolution: "@sinonjs/commons@npm:1.8.6" - dependencies: - type-detect: 4.0.8 - checksum: 93b4d4e27e93652b83467869c2fe09cbd8f37cd5582327f0e081fbf9b93899e2d267db7b668c96810c63dc229867614ced825e5512b47db96ca6f87cb3ec0f61 +"@sindresorhus/is@npm:^4.0.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e languageName: node linkType: hard @@ -5241,38 +5106,20 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^6.0.1": - version: 6.0.1 - resolution: "@sinonjs/fake-timers@npm:6.0.1" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: a77bead4d71b40d6f7f9a3ad66a00269aa2c078260f43f594b8aed4676c6c4e7c2b642d4b8e34df314e1c971589455f7b4267ab831bf44ffdccc0bda599850ad - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^9.1.2": - version: 9.1.2 - resolution: "@sinonjs/fake-timers@npm:9.1.2" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: d9187f9130f03272562ff9845867299c6f7cf15157bbb3e6aca4a1f06d885b0eef54259d0ad41e2f8043dc530b4db730b6c9415b169033e7ba8fed0ad449ceec - languageName: node - linkType: hard - "@storybook/addon-a11y@workspace:*, @storybook/addon-a11y@workspace:addons/a11y": version: 0.0.0-use.local resolution: "@storybook/addon-a11y@workspace:addons/a11y" dependencies: - "@storybook/addon-highlight": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/addon-highlight": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@testing-library/react": ^11.2.2 axe-core: ^4.2.0 lodash: ^4.17.21 @@ -5290,18 +5137,18 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-actions@7.1.0-alpha.29, @storybook/addon-actions@workspace:*, @storybook/addon-actions@workspace:addons/actions": +"@storybook/addon-actions@7.1.0-alpha.30, @storybook/addon-actions@workspace:*, @storybook/addon-actions@workspace:addons/actions": version: 0.0.0-use.local resolution: "@storybook/addon-actions@workspace:addons/actions" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/lodash": ^4.14.167 "@types/uuid": ^9.0.1 dequal: ^2.0.2 @@ -5324,18 +5171,18 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-backgrounds@7.1.0-alpha.29, @storybook/addon-backgrounds@workspace:*, @storybook/addon-backgrounds@workspace:addons/backgrounds": +"@storybook/addon-backgrounds@7.1.0-alpha.30, @storybook/addon-backgrounds@workspace:*, @storybook/addon-backgrounds@workspace:addons/backgrounds": version: 0.0.0-use.local resolution: "@storybook/addon-backgrounds@workspace:addons/backgrounds" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 memoizerific: ^1.11.3 ts-dedent: ^2.0.0 typescript: ~4.9.3 @@ -5350,19 +5197,19 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-controls@7.1.0-alpha.29, @storybook/addon-controls@workspace:*, @storybook/addon-controls@workspace:addons/controls": +"@storybook/addon-controls@7.1.0-alpha.30, @storybook/addon-controls@workspace:*, @storybook/addon-controls@workspace:addons/controls": version: 0.0.0-use.local resolution: "@storybook/addon-controls@workspace:addons/controls" dependencies: - "@storybook/blocks": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/blocks": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 lodash: ^4.17.21 ts-dedent: ^2.0.0 peerDependencies: @@ -5376,25 +5223,25 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-docs@7.1.0-alpha.29, @storybook/addon-docs@workspace:*, @storybook/addon-docs@workspace:addons/docs": +"@storybook/addon-docs@7.1.0-alpha.30, @storybook/addon-docs@workspace:*, @storybook/addon-docs@workspace:addons/docs": version: 0.0.0-use.local resolution: "@storybook/addon-docs@workspace:addons/docs" dependencies: "@jest/transform": ^29.3.1 "@mdx-js/react": ^2.1.5 - "@storybook/blocks": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/csf-plugin": 7.1.0-alpha.29 - "@storybook/csf-tools": 7.1.0-alpha.29 + "@storybook/blocks": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/csf-plugin": 7.1.0-alpha.30 + "@storybook/csf-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/postinstall": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/react-dom-shim": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/postinstall": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/react-dom-shim": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 fs-extra: ^11.1.0 react: ^16.14.0 react-dom: ^16.8.0 @@ -5412,20 +5259,20 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-essentials@workspace:addons/essentials" dependencies: - "@storybook/addon-actions": 7.1.0-alpha.29 - "@storybook/addon-backgrounds": 7.1.0-alpha.29 - "@storybook/addon-controls": 7.1.0-alpha.29 - "@storybook/addon-docs": 7.1.0-alpha.29 - "@storybook/addon-highlight": 7.1.0-alpha.29 - "@storybook/addon-measure": 7.1.0-alpha.29 - "@storybook/addon-outline": 7.1.0-alpha.29 - "@storybook/addon-toolbars": 7.1.0-alpha.29 - "@storybook/addon-viewport": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/vue": 7.1.0-alpha.29 + "@storybook/addon-actions": 7.1.0-alpha.30 + "@storybook/addon-backgrounds": 7.1.0-alpha.30 + "@storybook/addon-controls": 7.1.0-alpha.30 + "@storybook/addon-docs": 7.1.0-alpha.30 + "@storybook/addon-highlight": 7.1.0-alpha.30 + "@storybook/addon-measure": 7.1.0-alpha.30 + "@storybook/addon-outline": 7.1.0-alpha.30 + "@storybook/addon-toolbars": 7.1.0-alpha.30 + "@storybook/addon-viewport": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/vue": 7.1.0-alpha.30 ts-dedent: ^2.0.0 typescript: ^4.9.3 peerDependencies: @@ -5434,13 +5281,13 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-highlight@7.1.0-alpha.29, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight": +"@storybook/addon-highlight@7.1.0-alpha.30, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight": version: 0.0.0-use.local resolution: "@storybook/addon-highlight@workspace:addons/highlight" dependencies: - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 "@types/webpack-env": ^1.16.0 typescript: ~4.9.3 languageName: unknown @@ -5451,21 +5298,21 @@ __metadata: resolution: "@storybook/addon-interactions@workspace:addons/interactions" dependencies: "@devtools-ds/object-inspector": ^1.1.2 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/instrumenter": 7.1.0-alpha.29 + "@storybook/instrumenter": 7.1.0-alpha.30 "@storybook/jest": future - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 "@storybook/testing-library": future - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/node": ^16.0.0 formik: ^2.2.9 - jest-mock: ^27.0.6 + jest-mock: ^29.5.0 polished: ^4.2.2 ts-dedent: ^2.2.0 typescript: ~4.9.3 @@ -5484,17 +5331,17 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-jest@workspace:addons/jest" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 react-resize-detector: ^7.1.2 tiny-invariant: ^1.3.1 typescript: ~4.9.3 - upath: ^1.2.0 + upath: ^2.0.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5510,14 +5357,14 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-links@workspace:addons/links" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/router": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/router": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 fs-extra: ^11.1.0 prop-types: ^15.7.2 ts-dedent: ^2.0.0 @@ -5537,24 +5384,25 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-mdx-gfm@workspace:addons/gfm" dependencies: - "@storybook/node-logger": 7.1.0-alpha.29 + "@storybook/node-logger": 7.1.0-alpha.30 remark-gfm: ^3.0.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 languageName: unknown linkType: soft -"@storybook/addon-measure@7.1.0-alpha.29, @storybook/addon-measure@workspace:*, @storybook/addon-measure@workspace:addons/measure": +"@storybook/addon-measure@7.1.0-alpha.30, @storybook/addon-measure@workspace:*, @storybook/addon-measure@workspace:addons/measure": version: 0.0.0-use.local resolution: "@storybook/addon-measure@workspace:addons/measure" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + tiny-invariant: ^1.3.1 typescript: ~4.9.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5567,17 +5415,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-outline@7.1.0-alpha.29, @storybook/addon-outline@workspace:*, @storybook/addon-outline@workspace:addons/outline": +"@storybook/addon-outline@7.1.0-alpha.30, @storybook/addon-outline@workspace:*, @storybook/addon-outline@workspace:addons/outline": version: 0.0.0-use.local resolution: "@storybook/addon-outline@workspace:addons/outline" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 ts-dedent: ^2.0.0 typescript: ~4.9.3 peerDependencies: @@ -5597,17 +5445,16 @@ __metadata: dependencies: "@axe-core/puppeteer": ^4.2.0 "@storybook/csf": ^0.1.0 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 - "@types/jest-image-snapshot": ^5.1.0 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + "@types/jest-image-snapshot": ^6.0.0 "@types/puppeteer": ^5.4.0 enzyme: ^3.11.0 enzyme-to-json: ^3.6.1 jest-image-snapshot: ^6.0.0 puppeteer: ^2.0.0 || ^3.0.0 - rimraf: ^3.0.2 peerDependencies: - "@storybook/addon-storyshots": 7.1.0-alpha.29 + "@storybook/addon-storyshots": 7.1.0-alpha.30 puppeteer: ">=2.0.0" peerDependenciesMeta: puppeteer: @@ -5623,32 +5470,31 @@ __metadata: "@angular/platform-browser-dynamic": ^13.3.6 "@emotion/jest": ^11.8.0 "@jest/transform": ^29.3.1 - "@storybook/addon-docs": 7.1.0-alpha.29 - "@storybook/angular": 7.1.0-alpha.29 + "@storybook/addon-docs": 7.1.0-alpha.30 + "@storybook/angular": 7.1.0-alpha.30 "@storybook/babel-plugin-require-context-hook": 1.0.1 - "@storybook/client-api": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/client-api": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-webpack": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/react": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 - "@storybook/vue": 7.1.0-alpha.29 - "@storybook/vue3": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/react": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + "@storybook/vue": 7.1.0-alpha.30 + "@storybook/vue3": 7.1.0-alpha.30 "@types/jest-specific-snapshot": ^0.5.6 babel-loader: ^9.1.2 enzyme: ^3.11.0 enzyme-adapter-react-16: ^1.15.5 enzyme-to-json: ^3.6.1 glob: ^10.0.0 - jest-preset-angular: ^12.2.3 - jest-specific-snapshot: ^7.0.0 + jest-preset-angular: ^13.0.1 + jest-specific-snapshot: ^8.0.0 jest-vue-preprocessor: ^1.7.1 preact-render-to-string: ^5.1.19 pretty-format: ^29.0.0 react-test-renderer: ^16 read-pkg-up: ^7.0.1 - rimraf: ^3.0.2 rxjs: ^6.6.3 ts-dedent: ^2.0.0 vue-jest: ^5.0.0-alpha.8 @@ -5707,13 +5553,13 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/addon-storysource@workspace:addons/storysource" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/router": 7.1.0-alpha.29 - "@storybook/source-loader": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/router": 7.1.0-alpha.30 + "@storybook/source-loader": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 "@types/react": ^16.14.34 "@types/react-syntax-highlighter": 11.0.5 estraverse: ^5.2.0 @@ -5732,15 +5578,15 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-toolbars@7.1.0-alpha.29, @storybook/addon-toolbars@workspace:*, @storybook/addon-toolbars@workspace:addons/toolbars": +"@storybook/addon-toolbars@7.1.0-alpha.30, @storybook/addon-toolbars@workspace:*, @storybook/addon-toolbars@workspace:addons/toolbars": version: 0.0.0-use.local resolution: "@storybook/addon-toolbars@workspace:addons/toolbars" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 typescript: ~4.9.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5753,17 +5599,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-viewport@7.1.0-alpha.29, @storybook/addon-viewport@workspace:*, @storybook/addon-viewport@workspace:addons/viewport": +"@storybook/addon-viewport@7.1.0-alpha.30, @storybook/addon-viewport@workspace:*, @storybook/addon-viewport@workspace:addons/viewport": version: 0.0.0-use.local resolution: "@storybook/addon-viewport@workspace:addons/viewport" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 memoizerific: ^1.11.3 prop-types: ^15.7.2 typescript: ~4.9.3 @@ -5778,20 +5624,20 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addons@7.1.0-alpha.29, @storybook/addons@workspace:*, @storybook/addons@workspace:deprecated/addons": +"@storybook/addons@7.1.0-alpha.30, @storybook/addons@workspace:*, @storybook/addons@workspace:deprecated/addons": version: 0.0.0-use.local resolution: "@storybook/addons@workspace:deprecated/addons" dependencies: - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: unknown linkType: soft -"@storybook/angular@7.1.0-alpha.29, @storybook/angular@workspace:*, @storybook/angular@workspace:frameworks/angular": +"@storybook/angular@7.1.0-alpha.30, @storybook/angular@workspace:*, @storybook/angular@workspace:frameworks/angular": version: 0.0.0-use.local resolution: "@storybook/angular@workspace:frameworks/angular" dependencies: @@ -5807,24 +5653,24 @@ __metadata: "@angular/forms": ^16.0.0-rc.4 "@angular/platform-browser": ^16.0.0-rc.4 "@angular/platform-browser-dynamic": ^16.0.0-rc.4 - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/cli": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/core-webpack": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/cli": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/core-webpack": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/telemetry": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/telemetry": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + "@types/cross-spawn": ^6.0.2 "@types/node": ^16.0.0 "@types/react": ^16.14.34 "@types/react-dom": ^16.9.14 - "@types/rimraf": ^3.0.2 "@types/semver": ^7.3.4 "@types/tmp": ^0.2.3 "@types/webpack-env": ^1.18.0 @@ -5834,12 +5680,11 @@ __metadata: jest-preset-angular: ^13.0.1 jest-specific-snapshot: ^8.0.0 read-pkg-up: ^7.0.1 - rimraf: ^3.0.2 semver: ^7.3.7 telejson: ^7.0.3 tmp: ^0.2.1 ts-dedent: ^2.0.0 - tsconfig-paths-webpack-plugin: ^3.5.2 + tsconfig-paths-webpack-plugin: ^4.0.1 typescript: ^5.0.4 util-deprecate: ^1.0.2 webpack: 5 @@ -5868,12 +5713,12 @@ __metadata: languageName: unknown linkType: soft -"@storybook/api@7.1.0-alpha.29, @storybook/api@workspace:*, @storybook/api@workspace:deprecated/manager-api-shim": +"@storybook/api@7.1.0-alpha.30, @storybook/api@workspace:*, @storybook/api@workspace:deprecated/manager-api-shim": version: 0.0.0-use.local resolution: "@storybook/api@workspace:deprecated/manager-api-shim" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/manager-api": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/manager-api": 7.1.0-alpha.30 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5917,22 +5762,22 @@ __metadata: languageName: node linkType: hard -"@storybook/blocks@7.1.0-alpha.29, @storybook/blocks@workspace:*, @storybook/blocks@workspace:ui/blocks": +"@storybook/blocks@7.1.0-alpha.30, @storybook/blocks@workspace:*, @storybook/blocks@workspace:ui/blocks": version: 0.0.0-use.local resolution: "@storybook/blocks@workspace:ui/blocks" dependencies: - "@storybook/addon-actions": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/addon-actions": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/color-convert": ^2.0.0 "@types/lodash": ^4.14.167 color-convert: ^2.0.1 @@ -5951,14 +5796,14 @@ __metadata: languageName: unknown linkType: soft -"@storybook/builder-manager@7.1.0-alpha.29, @storybook/builder-manager@workspace:*, @storybook/builder-manager@workspace:builders/builder-manager": +"@storybook/builder-manager@7.1.0-alpha.30, @storybook/builder-manager@workspace:*, @storybook/builder-manager@workspace:builders/builder-manager": version: 0.0.0-use.local resolution: "@storybook/builder-manager@workspace:builders/builder-manager" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/manager": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/manager": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 "@types/ejs": ^3.1.1 "@types/find-cache-dir": ^3.2.1 "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 @@ -5976,20 +5821,20 @@ __metadata: languageName: unknown linkType: soft -"@storybook/builder-vite@7.1.0-alpha.29, @storybook/builder-vite@workspace:*, @storybook/builder-vite@workspace:builders/builder-vite": +"@storybook/builder-vite@7.1.0-alpha.30, @storybook/builder-vite@workspace:*, @storybook/builder-vite@workspace:builders/builder-vite": version: 0.0.0-use.local resolution: "@storybook/builder-vite@workspace:builders/builder-vite" dependencies: - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channel-websocket": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/csf-plugin": 7.1.0-alpha.29 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channel-websocket": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/csf-plugin": 7.1.0-alpha.30 "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/express": ^4.17.13 "@types/node": ^16.0.0 browser-assert: ^1.2.1 @@ -5997,7 +5842,7 @@ __metadata: express: ^4.17.3 fs-extra: ^11.1.0 glob: ^10.0.0 - magic-string: ^0.27.0 + magic-string: ^0.30.0 remark-external-links: ^8.0.0 remark-slug: ^6.0.0 rollup: ^3.20.1 @@ -6019,45 +5864,45 @@ __metadata: languageName: unknown linkType: soft -"@storybook/builder-webpack5@7.1.0-alpha.29, @storybook/builder-webpack5@workspace:*, @storybook/builder-webpack5@workspace:builders/builder-webpack5": +"@storybook/builder-webpack5@7.1.0-alpha.30, @storybook/builder-webpack5@workspace:*, @storybook/builder-webpack5@workspace:builders/builder-webpack5": version: 0.0.0-use.local resolution: "@storybook/builder-webpack5@workspace:builders/builder-webpack5" dependencies: "@babel/core": ^7.22.0 - "@storybook/addons": 7.1.0-alpha.29 - "@storybook/api": 7.1.0-alpha.29 - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channel-websocket": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-api": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/addons": 7.1.0-alpha.30 + "@storybook/api": 7.1.0-alpha.30 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channel-websocket": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-api": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 + "@storybook/core-webpack": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/router": 7.1.0-alpha.29 - "@storybook/store": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/router": 7.1.0-alpha.30 + "@storybook/store": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 "@swc/core": ^1.3.49 "@types/node": ^16.0.0 "@types/pretty-hrtime": ^1.0.0 "@types/semver": ^7.3.4 "@types/terser-webpack-plugin": ^5.2.0 - "@types/webpack-dev-middleware": ^5.3.0 "@types/webpack-hot-middleware": ^2.25.6 "@types/webpack-virtual-modules": ^0.1.1 babel-loader: ^9.0.0 babel-plugin-named-exports-order: ^0.0.2 browser-assert: ^1.2.1 case-sensitive-paths-webpack-plugin: ^2.4.0 + constants-browserify: ^1.0.0 css-loader: ^6.7.1 express: ^4.17.3 - fork-ts-checker-webpack-plugin: ^7.2.8 + fork-ts-checker-webpack-plugin: ^8.0.0 fs-extra: ^11.1.0 html-webpack-plugin: ^5.5.0 path-browserify: ^1.0.1 @@ -6070,12 +5915,13 @@ __metadata: terser-webpack-plugin: ^5.3.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 + url: ^0.11.0 util: ^0.12.4 util-deprecate: ^1.0.2 webpack: 5 - webpack-dev-middleware: ^5.3.1 + webpack-dev-middleware: ^6.1.1 webpack-hot-middleware: ^2.25.1 - webpack-virtual-modules: ^0.4.3 + webpack-virtual-modules: ^0.5.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6085,13 +5931,13 @@ __metadata: languageName: unknown linkType: soft -"@storybook/channel-postmessage@7.1.0-alpha.29, @storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:lib/channel-postmessage": +"@storybook/channel-postmessage@7.1.0-alpha.30, @storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:lib/channel-postmessage": version: 0.0.0-use.local resolution: "@storybook/channel-postmessage@workspace:lib/channel-postmessage" dependencies: - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 qs: ^6.10.0 telejson: ^7.0.3 @@ -6100,27 +5946,27 @@ __metadata: languageName: unknown linkType: soft -"@storybook/channel-postmessage@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/channel-postmessage@npm:7.1.0-alpha.25" +"@storybook/channel-postmessage@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/channel-postmessage@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/global": ^5.0.0 qs: ^6.10.0 telejson: ^7.0.3 tiny-invariant: ^1.3.1 - checksum: adfd3799787baaa6b68a552bf59b445c7bcdcc8b8772177ce239258df8e239ece6d3503666356d8f039cfd05ac620ba9a7c21f5a06f1395c8b0724c07a5fe5b7 + checksum: 1e3002cc791026923d5961ce373b8208a95c50d11e3ea8b748a79c05a5744128aac42d9a3d1cdd9f9ad61827e64227fd0b4246cc7b42c834e3702a3182e87eab languageName: node linkType: hard -"@storybook/channel-websocket@7.1.0-alpha.29, @storybook/channel-websocket@workspace:*, @storybook/channel-websocket@workspace:lib/channel-websocket": +"@storybook/channel-websocket@7.1.0-alpha.30, @storybook/channel-websocket@workspace:*, @storybook/channel-websocket@workspace:lib/channel-websocket": version: 0.0.0-use.local resolution: "@storybook/channel-websocket@workspace:lib/channel-websocket" dependencies: - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 telejson: ^7.0.3 tiny-invariant: ^1.3.1 @@ -6128,7 +5974,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/channels@7.1.0-alpha.29, @storybook/channels@workspace:*, @storybook/channels@workspace:lib/channels": +"@storybook/channels@7.1.0-alpha.30, @storybook/channels@workspace:*, @storybook/channels@workspace:lib/channels": version: 0.0.0-use.local resolution: "@storybook/channels@workspace:lib/channels" dependencies: @@ -6136,33 +5982,32 @@ __metadata: languageName: unknown linkType: soft -"@storybook/channels@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/channels@npm:7.1.0-alpha.25" - checksum: b229a080332a1cad9b7acd8fa3f04e976ab409a851af709f376322e9dca19b687fbbcc69e0f5da2f526eef2d3aff0d9c90af61f3783de0b44af1c2460be92c22 +"@storybook/channels@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/channels@npm:7.1.0-alpha.29" + checksum: 62c4b7f3852354dfc9013b5d2f51524325351772690765abefaba720c573abae230149c793d3424c62f58cf8ea0897fbd73aeb17daa511fa18fab142dcf31e82 languageName: node linkType: hard -"@storybook/cli@7.1.0-alpha.29, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": +"@storybook/cli@7.1.0-alpha.30, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli": version: 0.0.0-use.local resolution: "@storybook/cli@workspace:lib/cli" dependencies: "@babel/core": ^7.22.0 "@babel/preset-env": ^7.22.0 "@ndelangen/get-tarball": ^3.0.7 - "@storybook/client-api": 7.1.0-alpha.29 - "@storybook/codemod": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/csf-tools": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/telemetry": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/client-api": 7.1.0-alpha.30 + "@storybook/codemod": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/csf-tools": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/telemetry": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/cross-spawn": ^6.0.2 "@types/prompts": ^2.0.9 "@types/puppeteer-core": ^2.1.0 "@types/semver": ^7.3.4 - "@types/shelljs": ^0.8.7 "@types/util-deprecate": ^1.0.0 boxen: ^5.1.2 chalk: ^4.1.0 @@ -6186,7 +6031,6 @@ __metadata: puppeteer-core: ^2.1.1 read-pkg-up: ^7.0.1 semver: ^7.3.7 - shelljs: ^0.8.5 simple-update-notifier: ^1.0.0 slash: ^5.0.0 strip-json-comments: ^3.1.1 @@ -6200,16 +6044,16 @@ __metadata: languageName: unknown linkType: soft -"@storybook/client-api@7.1.0-alpha.29, @storybook/client-api@workspace:*, @storybook/client-api@workspace:deprecated/client-api": +"@storybook/client-api@7.1.0-alpha.30, @storybook/client-api@workspace:*, @storybook/client-api@workspace:deprecated/client-api": version: 0.0.0-use.local resolution: "@storybook/client-api@workspace:deprecated/client-api" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 languageName: unknown linkType: soft -"@storybook/client-logger@7.1.0-alpha.29, @storybook/client-logger@workspace:*, @storybook/client-logger@workspace:lib/client-logger": +"@storybook/client-logger@7.1.0-alpha.30, @storybook/client-logger@workspace:*, @storybook/client-logger@workspace:lib/client-logger": version: 0.0.0-use.local resolution: "@storybook/client-logger@workspace:lib/client-logger" dependencies: @@ -6218,16 +6062,16 @@ __metadata: languageName: unknown linkType: soft -"@storybook/client-logger@npm:7.1.0-alpha.25, @storybook/client-logger@npm:future": - version: 7.1.0-alpha.25 - resolution: "@storybook/client-logger@npm:7.1.0-alpha.25" +"@storybook/client-logger@npm:7.1.0-alpha.29, @storybook/client-logger@npm:future": + version: 7.1.0-alpha.29 + resolution: "@storybook/client-logger@npm:7.1.0-alpha.29" dependencies: "@storybook/global": ^5.0.0 - checksum: dd8a98ee1c8bba4098c47df79ae9812f7f39cadafb55be79917ce62ec1db35b8e919fa27f62f359644bad2f3d2bf6fb64cc89570e3ad0d4b0bc5a319bf36126e + checksum: 928cf347346cf85a747216f2387cc240ed2395d508358be4ed93d0319af1a25e326f8456125feef923f6d014000a2bf95cf43140cc4fcddd510a852478f05f39 languageName: node linkType: hard -"@storybook/codemod@7.1.0-alpha.29, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod": +"@storybook/codemod@7.1.0-alpha.30, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod": version: 0.0.0-use.local resolution: "@storybook/codemod@workspace:lib/codemod" dependencies: @@ -6235,15 +6079,16 @@ __metadata: "@babel/preset-env": ^7.22.0 "@babel/types": ^7.22.0 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/csf-tools": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + "@types/cross-spawn": ^6.0.2 "@types/jscodeshift": ^0.11.6 ansi-regex: ^5.0.1 cross-spawn: ^7.0.3 globby: ^11.0.2 jest: ^29.3.1 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 jscodeshift: ^0.14.0 lodash: ^4.17.21 mdast-util-mdx-jsx: ^2.1.2 @@ -6262,22 +6107,22 @@ __metadata: languageName: unknown linkType: soft -"@storybook/components@7.1.0-alpha.29, @storybook/components@workspace:*, @storybook/components@workspace:ui/components": +"@storybook/components@7.1.0-alpha.30, @storybook/components@workspace:*, @storybook/components@workspace:ui/components": version: 0.0.0-use.local resolution: "@storybook/components@workspace:ui/components" dependencies: "@popperjs/core": ^2.6.0 - "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 - "@types/overlayscrollbars": ^1.12.0 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/react-syntax-highlighter": 11.0.5 "@types/util-deprecate": ^1.0.0 css: ^3.0.0 memoizerific: ^1.11.3 - overlayscrollbars: ^1.13.1 + overlayscrollbars: ^2.2.0 + overlayscrollbars-react: ^0.5.0 polished: ^4.2.2 prettier: ^2.8.0 react-popper-tooltip: ^4.4.2 @@ -6293,21 +6138,21 @@ __metadata: languageName: unknown linkType: soft -"@storybook/core-client@7.1.0-alpha.29, @storybook/core-client@workspace:*, @storybook/core-client@workspace:deprecated/core-client": +"@storybook/core-client@7.1.0-alpha.30, @storybook/core-client@workspace:*, @storybook/core-client@workspace:deprecated/core-client": version: 0.0.0-use.local resolution: "@storybook/core-client@workspace:deprecated/core-client" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 languageName: unknown linkType: soft -"@storybook/core-common@7.1.0-alpha.29, @storybook/core-common@workspace:*, @storybook/core-common@workspace:lib/core-common": +"@storybook/core-common@7.1.0-alpha.30, @storybook/core-common@workspace:*, @storybook/core-common@workspace:lib/core-common": version: 0.0.0-use.local resolution: "@storybook/core-common@workspace:lib/core-common" dependencies: - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/mock-fs": ^4.13.1 "@types/node": ^16.0.0 "@types/picomatch": ^2.3.0 @@ -6328,12 +6173,12 @@ __metadata: resolve-from: ^5.0.0 slash: ^5.0.0 ts-dedent: ^2.0.0 - type-fest: ^2.19.0 + type-fest: ^3.11.0 typescript: ~4.9.3 languageName: unknown linkType: soft -"@storybook/core-events@7.1.0-alpha.29, @storybook/core-events@workspace:*, @storybook/core-events@workspace:lib/core-events": +"@storybook/core-events@7.1.0-alpha.30, @storybook/core-events@workspace:*, @storybook/core-events@workspace:lib/core-events": version: 0.0.0-use.local resolution: "@storybook/core-events@workspace:lib/core-events" dependencies: @@ -6341,31 +6186,31 @@ __metadata: languageName: unknown linkType: soft -"@storybook/core-events@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/core-events@npm:7.1.0-alpha.25" - checksum: 2987da4e4ef8377f9616e80d7d8696c352643cd2450283862e299311eb2c5dbce3de0df50c9955421fd9d606d517af234d6c0980c1eaefb8b01bc273b759d755 +"@storybook/core-events@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/core-events@npm:7.1.0-alpha.29" + checksum: 6a266433427b06aa99f0e02dbaad9d545a22e6e3c0487e1bbcc78d3782bee91e8062ed08b44461749069dd519d2cec9af76dbeb03ee452e4bcc78b0c04fc64e5 languageName: node linkType: hard -"@storybook/core-server@7.1.0-alpha.29, @storybook/core-server@workspace:*, @storybook/core-server@workspace:lib/core-server": +"@storybook/core-server@7.1.0-alpha.30, @storybook/core-server@workspace:*, @storybook/core-server@workspace:lib/core-server": version: 0.0.0-use.local resolution: "@storybook/core-server@workspace:lib/core-server" dependencies: - "@aw-web-design/x-default-browser": 1.4.88 + "@aw-web-design/x-default-browser": 1.4.126 "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/builder-manager": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.1.0-alpha.29 + "@storybook/csf-tools": 7.1.0-alpha.30 "@storybook/docs-mdx": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/telemetry": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/telemetry": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/compression": ^1.7.0 "@types/detect-port": ^1.3.0 "@types/ip": ^1.1.0 @@ -6375,7 +6220,7 @@ __metadata: "@types/semver": ^7.3.4 "@types/serve-favicon": ^2.5.2 "@types/ws": ^8 - better-opn: ^2.1.1 + better-opn: ^3.0.2 boxen: ^5.1.2 chalk: ^4.1.0 cli-table3: ^0.6.1 @@ -6386,9 +6231,9 @@ __metadata: globby: ^11.0.2 ip: ^2.0.0 jest-os-detection: ^1.3.1 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 lodash: ^4.17.21 - node-fetch: ^2.6.7 + node-fetch: ^3.3.1 open: ^8.4.0 pretty-hrtime: ^1.0.3 prompts: ^2.4.0 @@ -6400,19 +6245,20 @@ __metadata: tiny-invariant: ^1.3.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 + util: ^0.12.4 util-deprecate: ^1.0.2 watchpack: ^2.2.0 ws: ^8.2.3 languageName: unknown linkType: soft -"@storybook/core-webpack@7.1.0-alpha.29, @storybook/core-webpack@workspace:*, @storybook/core-webpack@workspace:lib/core-webpack": +"@storybook/core-webpack@7.1.0-alpha.30, @storybook/core-webpack@workspace:*, @storybook/core-webpack@workspace:lib/core-webpack": version: 0.0.0-use.local resolution: "@storybook/core-webpack@workspace:lib/core-webpack" dependencies: - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/node": ^16.0.0 ts-dedent: ^2.0.0 typescript: ~4.9.3 @@ -6420,17 +6266,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/csf-plugin@7.1.0-alpha.29, @storybook/csf-plugin@workspace:*, @storybook/csf-plugin@workspace:lib/csf-plugin": +"@storybook/csf-plugin@7.1.0-alpha.30, @storybook/csf-plugin@workspace:*, @storybook/csf-plugin@workspace:lib/csf-plugin": version: 0.0.0-use.local resolution: "@storybook/csf-plugin@workspace:lib/csf-plugin" dependencies: - "@storybook/csf-tools": 7.1.0-alpha.29 + "@storybook/csf-tools": 7.1.0-alpha.30 typescript: ~4.9.3 - unplugin: ^0.10.2 + unplugin: ^1.3.1 languageName: unknown linkType: soft -"@storybook/csf-tools@7.1.0-alpha.29, @storybook/csf-tools@workspace:*, @storybook/csf-tools@workspace:lib/csf-tools": +"@storybook/csf-tools@7.1.0-alpha.30, @storybook/csf-tools@workspace:*, @storybook/csf-tools@workspace:lib/csf-tools": version: 0.0.0-use.local resolution: "@storybook/csf-tools@workspace:lib/csf-tools" dependencies: @@ -6439,11 +6285,11 @@ __metadata: "@babel/traverse": ^7.22.0 "@babel/types": ^7.22.0 "@storybook/csf": ^0.1.0 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/types": 7.1.0-alpha.30 "@types/fs-extra": ^11.0.1 - "@types/js-yaml": ^3.12.6 + "@types/js-yaml": ^4.0.5 fs-extra: ^11.1.0 - js-yaml: ^3.14.1 + js-yaml: ^4.1.0 recast: ^0.23.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 @@ -6460,11 +6306,11 @@ __metadata: linkType: hard "@storybook/csf@npm:^0.1.0": - version: 0.1.0 - resolution: "@storybook/csf@npm:0.1.0" + version: 0.1.1 + resolution: "@storybook/csf@npm:0.1.1" dependencies: type-fest: ^2.19.0 - checksum: 76e284884eacb54bb2130448c45204d64e9ca436d73614d3369d72049b1e786e31e55c0bbb922b8e1069fecbc97a3d68796d401f8e3d93d7ffba0df59b6d8cbe + checksum: 999bb87fbbe047a559bbaa5baf2ed84872fcd5cdcae3c1169f8e4c641eefe8759d09a09034a78ed114032c0e5cf6301b7fa89e5e3ce60d75cf0bd5e33ec0a6e7 languageName: node linkType: hard @@ -6475,17 +6321,17 @@ __metadata: languageName: node linkType: hard -"@storybook/docs-tools@7.1.0-alpha.29, @storybook/docs-tools@workspace:*, @storybook/docs-tools@workspace:lib/docs-tools": +"@storybook/docs-tools@7.1.0-alpha.30, @storybook/docs-tools@workspace:*, @storybook/docs-tools@workspace:lib/docs-tools": version: 0.0.0-use.local resolution: "@storybook/docs-tools@workspace:lib/docs-tools" dependencies: "@babel/core": ^7.22.0 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/doctrine": ^0.0.3 doctrine: ^3.0.0 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 lodash: ^4.17.21 require-from-string: ^2.0.2 typescript: ~4.9.3 @@ -6496,12 +6342,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/ember@workspace:frameworks/ember" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 ember-source: ~3.28.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 @@ -6545,17 +6391,17 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/html-vite@workspace:frameworks/html-vite" dependencies: - "@storybook/addons": 7.1.0-alpha.29 - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channel-websocket": 7.1.0-alpha.29 - "@storybook/client-api": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/html": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preview-web": 7.1.0-alpha.29 + "@storybook/addons": 7.1.0-alpha.30 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channel-websocket": 7.1.0-alpha.30 + "@storybook/client-api": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/html": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preview-web": 7.1.0-alpha.30 "@types/node": ^16.0.0 - magic-string: ^0.27.0 + magic-string: ^0.30.0 typescript: ~4.9.3 languageName: unknown linkType: soft @@ -6564,11 +6410,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/html-webpack5@workspace:frameworks/html-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/html": 7.1.0-alpha.29 - "@storybook/preset-html-webpack": 7.1.0-alpha.29 + "@storybook/html": 7.1.0-alpha.30 + "@storybook/preset-html-webpack": 7.1.0-alpha.30 "@types/node": ^16.0.0 typescript: ~4.9.3 peerDependencies: @@ -6578,15 +6424,15 @@ __metadata: languageName: unknown linkType: soft -"@storybook/html@7.1.0-alpha.29, @storybook/html@workspace:*, @storybook/html@workspace:renderers/html": +"@storybook/html@7.1.0-alpha.30, @storybook/html@workspace:*, @storybook/html@workspace:renderers/html": version: 0.0.0-use.local resolution: "@storybook/html@workspace:renderers/html" dependencies: - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 ts-dedent: ^2.0.0 typescript: ~4.9.3 peerDependencies: @@ -6594,29 +6440,29 @@ __metadata: languageName: unknown linkType: soft -"@storybook/instrumenter@7.1.0-alpha.29, @storybook/instrumenter@workspace:*, @storybook/instrumenter@workspace:lib/instrumenter": +"@storybook/instrumenter@7.1.0-alpha.30, @storybook/instrumenter@workspace:*, @storybook/instrumenter@workspace:lib/instrumenter": version: 0.0.0-use.local resolution: "@storybook/instrumenter@workspace:lib/instrumenter" dependencies: - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 typescript: ~4.9.3 languageName: unknown linkType: soft "@storybook/instrumenter@npm:future": - version: 7.1.0-alpha.25 - resolution: "@storybook/instrumenter@npm:7.1.0-alpha.25" + version: 7.1.0-alpha.29 + resolution: "@storybook/instrumenter@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.25 - checksum: c868155e6255ea84512202040febb4eaf711a0322184614c073d3b4d5b9440ec61b60ee4d2bcc5db495b109378516d7eb70363d2ca36cac5481e2a72d33758a2 + "@storybook/preview-api": 7.1.0-alpha.29 + checksum: a401ad429008be2c06eead8e52f4d1db73fcbb0e5a4ba406e82a034d46057752c8bdad9912cb2df2b48954fc4c75ba96a6895fe33f1df934ae12b0e2bec4d46c languageName: node linkType: hard @@ -6659,19 +6505,19 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@7.1.0-alpha.29, @storybook/manager-api@workspace:*, @storybook/manager-api@workspace:lib/manager-api": +"@storybook/manager-api@7.1.0-alpha.30, @storybook/manager-api@workspace:*, @storybook/manager-api@workspace:lib/manager-api": version: 0.0.0-use.local resolution: "@storybook/manager-api@workspace:lib/manager-api" dependencies: "@jest/globals": ^29.3.1 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/router": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/router": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/lodash": ^4.14.167 "@types/qs": ^6 dequal: ^2.0.2 @@ -6690,24 +6536,24 @@ __metadata: languageName: unknown linkType: soft -"@storybook/manager@7.1.0-alpha.29, @storybook/manager@workspace:*, @storybook/manager@workspace:ui/manager": +"@storybook/manager@7.1.0-alpha.30, @storybook/manager@workspace:*, @storybook/manager@workspace:ui/manager": version: 0.0.0-use.local resolution: "@storybook/manager@workspace:ui/manager" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/addons": 7.1.0-alpha.29 - "@storybook/api": 7.1.0-alpha.29 - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channel-websocket": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/components": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@storybook/addons": 7.1.0-alpha.30 + "@storybook/api": 7.1.0-alpha.30 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channel-websocket": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/components": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/router": 7.1.0-alpha.29 - "@storybook/theming": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/router": 7.1.0-alpha.30 + "@storybook/theming": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@testing-library/react": ^11.2.2 "@types/semver": ^7.3.4 copy-to-clipboard: ^3.3.1 @@ -6757,13 +6603,13 @@ __metadata: "@babel/preset-typescript": ^7.21.0 "@babel/runtime": ^7.22.0 "@babel/types": ^7.22.0 - "@storybook/addon-actions": 7.1.0-alpha.29 - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/preset-react-webpack": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/react": 7.1.0-alpha.29 + "@storybook/addon-actions": 7.1.0-alpha.30 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/preset-react-webpack": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/react": 7.1.0-alpha.30 "@types/babel__core": ^7 "@types/babel__plugin-transform-runtime": ^7 "@types/babel__preset-env": ^7 @@ -6785,7 +6631,7 @@ __metadata: styled-jsx: 5.1.1 ts-dedent: ^2.0.0 tsconfig-paths: ^4.0.0 - tsconfig-paths-webpack-plugin: ^3.5.2 + tsconfig-paths-webpack-plugin: ^4.0.1 typescript: ^4.9.3 webpack: ^5.65.0 peerDependencies: @@ -6809,7 +6655,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/node-logger@7.1.0-alpha.29, @storybook/node-logger@workspace:*, @storybook/node-logger@workspace:lib/node-logger": +"@storybook/node-logger@7.1.0-alpha.30, @storybook/node-logger@workspace:*, @storybook/node-logger@workspace:lib/node-logger": version: 0.0.0-use.local resolution: "@storybook/node-logger@workspace:lib/node-logger" dependencies: @@ -6822,12 +6668,12 @@ __metadata: languageName: unknown linkType: soft -"@storybook/postinstall@7.1.0-alpha.29, @storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall": +"@storybook/postinstall@7.1.0-alpha.30, @storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall": version: 0.0.0-use.local resolution: "@storybook/postinstall@workspace:lib/postinstall" dependencies: jest: ^29.3.1 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 jscodeshift: ^0.14.0 typescript: ~4.9.3 languageName: unknown @@ -6838,8 +6684,8 @@ __metadata: resolution: "@storybook/preact-vite@workspace:frameworks/preact-vite" dependencies: "@preact/preset-vite": ^2.0.0 - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/preact": 7.1.0-alpha.29 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/preact": 7.1.0-alpha.30 "@types/node": ^16.0.0 typescript: ~4.9.3 vite: ^4.0.0 @@ -6853,10 +6699,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/preact-webpack5@workspace:frameworks/preact-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preact": 7.1.0-alpha.29 - "@storybook/preset-preact-webpack": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preact": 7.1.0-alpha.30 + "@storybook/preset-preact-webpack": 7.1.0-alpha.30 "@types/node": ^16.0.0 preact: ^10.5.13 typescript: ~4.9.3 @@ -6868,14 +6714,14 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preact@7.1.0-alpha.29, @storybook/preact@workspace:*, @storybook/preact@workspace:renderers/preact": +"@storybook/preact@7.1.0-alpha.30, @storybook/preact@workspace:*, @storybook/preact@workspace:renderers/preact": version: 0.0.0-use.local resolution: "@storybook/preact@workspace:renderers/preact" dependencies: - "@storybook/core-client": 7.1.0-alpha.29 + "@storybook/core-client": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 preact: ^10.5.13 ts-dedent: ^2.0.0 typescript: ~4.9.3 @@ -6889,9 +6735,9 @@ __metadata: resolution: "@storybook/preset-create-react-app@workspace:presets/create-react-app" dependencies: "@pmmmwh/react-refresh-webpack-plugin": ^0.5.1 - "@storybook/node-logger": 7.1.0-alpha.29 + "@storybook/node-logger": 7.1.0-alpha.30 "@storybook/react-docgen-typescript-plugin": 1.0.6--canary.9.0c3f3b7.0 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/types": 7.1.0-alpha.30 "@types/babel__core": ^7.1.7 "@types/node": ^16.0.0 babel-plugin-react-docgen: ^4.1.0 @@ -6904,11 +6750,11 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-html-webpack@7.1.0-alpha.29, @storybook/preset-html-webpack@workspace:*, @storybook/preset-html-webpack@workspace:presets/html-webpack": +"@storybook/preset-html-webpack@7.1.0-alpha.30, @storybook/preset-html-webpack@workspace:*, @storybook/preset-html-webpack@workspace:presets/html-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-html-webpack@workspace:presets/html-webpack" dependencies: - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 "@types/node": ^16.0.0 html-loader: ^3.1.0 typescript: ~4.9.3 @@ -6918,13 +6764,13 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-preact-webpack@7.1.0-alpha.29, @storybook/preset-preact-webpack@workspace:*, @storybook/preset-preact-webpack@workspace:presets/preact-webpack": +"@storybook/preset-preact-webpack@7.1.0-alpha.30, @storybook/preset-preact-webpack@workspace:*, @storybook/preset-preact-webpack@workspace:presets/preact-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-preact-webpack@workspace:presets/preact-webpack" dependencies: "@babel/plugin-transform-react-jsx": ^7.21.0 "@babel/preset-typescript": ^7.21.0 - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 "@types/node": ^16.0.0 preact: ^10.5.13 typescript: ~4.9.3 @@ -6934,17 +6780,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-react-webpack@7.1.0-alpha.29, @storybook/preset-react-webpack@workspace:*, @storybook/preset-react-webpack@workspace:presets/react-webpack": +"@storybook/preset-react-webpack@7.1.0-alpha.30, @storybook/preset-react-webpack@workspace:*, @storybook/preset-react-webpack@workspace:presets/react-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-react-webpack@workspace:presets/react-webpack" dependencies: "@babel/preset-flow": ^7.21.0 "@babel/preset-react": ^7.22.0 "@pmmmwh/react-refresh-webpack-plugin": ^0.5.5 - "@storybook/core-webpack": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/react": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/react": 7.1.0-alpha.30 "@storybook/react-docgen-typescript-plugin": 1.0.6--canary.9.0c3f3b7.0 "@types/node": ^16.0.0 "@types/semver": ^7.3.4 @@ -6967,31 +6813,31 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-server-webpack@7.1.0-alpha.29, @storybook/preset-server-webpack@workspace:*, @storybook/preset-server-webpack@workspace:presets/server-webpack": +"@storybook/preset-server-webpack@7.1.0-alpha.30, @storybook/preset-server-webpack@workspace:*, @storybook/preset-server-webpack@workspace:presets/server-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-server-webpack@workspace:presets/server-webpack" dependencies: - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/core-webpack": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/server": 7.1.0-alpha.29 + "@storybook/server": 7.1.0-alpha.30 "@types/node": ^16.0.0 fs-extra: ^11.1.0 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 safe-identifier: ^0.4.1 ts-dedent: ^2.0.0 typescript: ~4.9.3 - yaml: ^1.10.0 + yaml: ^2.3.1 yaml-loader: ^0.8.0 languageName: unknown linkType: soft -"@storybook/preset-svelte-webpack@7.1.0-alpha.29, @storybook/preset-svelte-webpack@workspace:*, @storybook/preset-svelte-webpack@workspace:presets/svelte-webpack": +"@storybook/preset-svelte-webpack@7.1.0-alpha.30, @storybook/preset-svelte-webpack@workspace:*, @storybook/preset-svelte-webpack@workspace:presets/svelte-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-svelte-webpack@workspace:presets/svelte-webpack" dependencies: - "@storybook/core-webpack": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 svelte: ^3.31.2 svelte-loader: ^3.1.2 sveltedoc-parser: ^4.2.1 @@ -7004,12 +6850,12 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-vue-webpack@7.1.0-alpha.29, @storybook/preset-vue-webpack@workspace:*, @storybook/preset-vue-webpack@workspace:presets/vue-webpack": +"@storybook/preset-vue-webpack@7.1.0-alpha.30, @storybook/preset-vue-webpack@workspace:*, @storybook/preset-vue-webpack@workspace:presets/vue-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-vue-webpack@workspace:presets/vue-webpack" dependencies: - "@storybook/core-webpack": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@types/node": ^16.0.0 ts-loader: ^9.2.8 typescript: ~4.9.3 @@ -7029,12 +6875,12 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-vue3-webpack@7.1.0-alpha.29, @storybook/preset-vue3-webpack@workspace:*, @storybook/preset-vue3-webpack@workspace:presets/vue3-webpack": +"@storybook/preset-vue3-webpack@7.1.0-alpha.30, @storybook/preset-vue3-webpack@workspace:*, @storybook/preset-vue3-webpack@workspace:presets/vue3-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-vue3-webpack@workspace:presets/vue3-webpack" dependencies: - "@storybook/core-webpack": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@types/node": ^16.0.0 "@vue/compiler-sfc": ^3.2.33 ts-loader: ^9.2.8 @@ -7052,14 +6898,14 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preset-web-components-webpack@7.1.0-alpha.29, @storybook/preset-web-components-webpack@workspace:*, @storybook/preset-web-components-webpack@workspace:presets/web-components-webpack": +"@storybook/preset-web-components-webpack@7.1.0-alpha.30, @storybook/preset-web-components-webpack@workspace:*, @storybook/preset-web-components-webpack@workspace:presets/web-components-webpack": version: 0.0.0-use.local resolution: "@storybook/preset-web-components-webpack@workspace:presets/web-components-webpack" dependencies: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/preset-env": ^7.22.0 - "@storybook/core-webpack": 7.1.0-alpha.29 + "@storybook/core-webpack": 7.1.0-alpha.30 "@types/node": ^16.0.0 babel-loader: ^7.0.0 || ^8.0.0 || ^9.0.0 babel-plugin-bundled-import-meta: ^0.3.1 @@ -7070,19 +6916,19 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preview-api@7.1.0-alpha.29, @storybook/preview-api@workspace:*, @storybook/preview-api@workspace:lib/preview-api": +"@storybook/preview-api@7.1.0-alpha.30, @storybook/preview-api@workspace:*, @storybook/preview-api@workspace:lib/preview-api": version: 0.0.0-use.local resolution: "@storybook/preview-api@workspace:lib/preview-api" dependencies: - "@jest/globals": ^26.6.2 - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 + "@jest/globals": ^29.5.0 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/types": 7.1.0-alpha.30 "@types/qs": ^6.9.5 ansi-to-html: ^0.6.11 dequal: ^2.0.2 @@ -7097,17 +6943,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/preview-api@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/preview-api@npm:7.1.0-alpha.25" +"@storybook/preview-api@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/preview-api@npm:7.1.0-alpha.29" dependencies: - "@storybook/channel-postmessage": 7.1.0-alpha.25 - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channel-postmessage": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.1.0-alpha.25 + "@storybook/types": 7.1.0-alpha.29 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -7116,29 +6962,29 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: 5417a2c46815e34f68e6dfed0c09061550852e7bc618eaea71ebe800dec7b021dc3a967ee7b3717f17b7bfd11333d69f36af5e02cd3dbb7326f4a6bb976178f3 + checksum: be648b02a0b3218e837f7b15389487da2d146174e0aa919c4383b09630a541abf850595b74642a1e409ad5a96fba6224af03bd87f5de556dcc51f380cf34c1d3 languageName: node linkType: hard -"@storybook/preview-web@7.1.0-alpha.29, @storybook/preview-web@workspace:*, @storybook/preview-web@workspace:deprecated/preview-web": +"@storybook/preview-web@7.1.0-alpha.30, @storybook/preview-web@workspace:*, @storybook/preview-web@workspace:deprecated/preview-web": version: 0.0.0-use.local resolution: "@storybook/preview-web@workspace:deprecated/preview-web" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 languageName: unknown linkType: soft -"@storybook/preview@7.1.0-alpha.29, @storybook/preview@workspace:*, @storybook/preview@workspace:lib/preview": +"@storybook/preview@7.1.0-alpha.30, @storybook/preview@workspace:*, @storybook/preview@workspace:lib/preview": version: 0.0.0-use.local resolution: "@storybook/preview@workspace:lib/preview" dependencies: - "@storybook/channel-postmessage": 7.1.0-alpha.29 - "@storybook/channel-websocket": 7.1.0-alpha.29 - "@storybook/channels": 7.1.0-alpha.29 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/channel-postmessage": 7.1.0-alpha.30 + "@storybook/channel-websocket": 7.1.0-alpha.30 + "@storybook/channels": 7.1.0-alpha.30 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 typescript: ~4.9.3 languageName: unknown linkType: soft @@ -7161,11 +7007,11 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@7.1.0-alpha.29, @storybook/react-dom-shim@workspace:lib/react-dom-shim": +"@storybook/react-dom-shim@7.1.0-alpha.30, @storybook/react-dom-shim@workspace:lib/react-dom-shim": version: 0.0.0-use.local resolution: "@storybook/react-dom-shim@workspace:lib/react-dom-shim" dependencies: - "@storybook/types": 7.1.0-alpha.29 + "@storybook/types": 7.1.0-alpha.30 typescript: ~4.9.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7178,13 +7024,13 @@ __metadata: resolution: "@storybook/react-vite@workspace:frameworks/react-vite" dependencies: "@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1 - "@rollup/pluginutils": ^4.2.0 - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/react": 7.1.0-alpha.29 + "@rollup/pluginutils": ^5.0.2 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/react": 7.1.0-alpha.30 "@types/node": ^16.0.0 "@vitejs/plugin-react": ^3.0.1 ast-types: ^0.14.2 - magic-string: ^0.27.0 + magic-string: ^0.30.0 react-docgen: 6.0.0-alpha.3 typescript: ~4.9.3 vite: ^4.0.0 @@ -7199,11 +7045,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/react-webpack5@workspace:frameworks/react-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/preset-react-webpack": 7.1.0-alpha.29 - "@storybook/react": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/preset-react-webpack": 7.1.0-alpha.30 + "@storybook/react": 7.1.0-alpha.30 "@types/node": ^16.0.0 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 typescript: ~4.9.3 peerDependencies: "@babel/core": ^7.22.0 @@ -7217,18 +7063,18 @@ __metadata: languageName: unknown linkType: soft -"@storybook/react@7.1.0-alpha.29, @storybook/react@workspace:*, @storybook/react@workspace:renderers/react": +"@storybook/react@7.1.0-alpha.30, @storybook/react@workspace:*, @storybook/react@workspace:renderers/react": version: 0.0.0-use.local resolution: "@storybook/react@workspace:renderers/react" dependencies: "@babel/core": ^7.22.0 - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/react-dom-shim": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/react-dom-shim": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/escodegen": ^0.0.6 "@types/estree": ^0.0.51 "@types/node": ^16.0.0 @@ -7237,15 +7083,15 @@ __metadata: acorn-jsx: ^5.3.1 acorn-walk: ^7.2.0 escodegen: ^2.0.0 - expect-type: ^0.14.2 + expect-type: ^0.15.0 html-tags: ^3.1.0 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 lodash: ^4.17.21 prop-types: ^15.7.2 react-element-to-jsx-string: ^15.0.0 require-from-string: ^2.0.2 ts-dedent: ^2.0.0 - type-fest: ^2.19.0 + type-fest: ^3.11.0 typescript: ~4.9.3 util-deprecate: ^1.0.2 peerDependencies: @@ -7268,9 +7114,8 @@ __metadata: "@babel/runtime": ^7.20.1 "@emotion/jest": ^11.10.0 "@jest/globals": ^29.3.1 - "@linear/sdk": ^1.21.0 "@nx/workspace": 16.2.1 - "@playwright/test": ^1.34.3 + "@playwright/test": ^1.35.0 "@storybook/addon-a11y": "workspace:*" "@storybook/addon-actions": "workspace:*" "@storybook/addon-backgrounds": "workspace:*" @@ -7390,7 +7235,7 @@ __metadata: chromatic: 6.11.2 concurrently: ^5.3.0 cross-env: ^7.0.3 - danger: ^10.6.2 + danger: ^11.2.6 esbuild: ^0.17.0 esbuild-loader: ^3.0.0 esbuild-plugin-alias: ^0.2.1 @@ -7402,19 +7247,19 @@ __metadata: fs-extra: ^11.1.0 github-release-from-changelog: ^2.1.1 glob: ^10.0.0 - http-server: ^0.12.3 + http-server: ^14.1.1 husky: ^4.3.7 jest: ^29.5.0 jest-environment-jsdom: ^29.5.0 jest-image-snapshot: ^6.0.0 - jest-junit: ^14.0.1 + jest-junit: ^16.0.0 jest-os-detection: ^1.3.1 jest-serializer-html: ^7.1.0 jest-watch-typeahead: ^2.2.1 lerna: ^6.4.0 - lint-staged: ^10.5.4 + lint-staged: ^13.2.2 lodash: ^4.17.21 - node-gyp: ^8.4.0 + node-gyp: ^9.3.1 nx: 16.2.1 nx-cloud: 16.0.5 prettier: 2.8.0 @@ -7430,7 +7275,7 @@ __metadata: util: ^0.12.4 vite: ^4.0.0 vite-plugin-turbosnap: ^1.0.1 - wait-on: ^5.2.1 + wait-on: ^7.0.1 dependenciesMeta: ejs: built: false @@ -7450,11 +7295,11 @@ __metadata: languageName: unknown linkType: soft -"@storybook/router@7.1.0-alpha.29, @storybook/router@workspace:*, @storybook/router@workspace:lib/router": +"@storybook/router@7.1.0-alpha.30, @storybook/router@workspace:*, @storybook/router@workspace:lib/router": version: 0.0.0-use.local resolution: "@storybook/router@workspace:lib/router" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 dequal: ^2.0.2 lodash: ^4.17.21 @@ -7473,10 +7318,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/server-webpack5@workspace:frameworks/server-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preset-server-webpack": 7.1.0-alpha.29 - "@storybook/server": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preset-server-webpack": 7.1.0-alpha.30 + "@storybook/server": 7.1.0-alpha.30 "@types/node": ^16.0.0 typescript: ~4.9.3 peerDependencies: @@ -7485,16 +7330,16 @@ __metadata: languageName: unknown linkType: soft -"@storybook/server@7.1.0-alpha.29, @storybook/server@workspace:*, @storybook/server@workspace:renderers/server": +"@storybook/server@7.1.0-alpha.30, @storybook/server@workspace:*, @storybook/server@workspace:renderers/server": version: 0.0.0-use.local resolution: "@storybook/server@workspace:renderers/server" dependencies: - "@storybook/core-client": 7.1.0-alpha.29 + "@storybook/core-client": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.1.0-alpha.29 + "@storybook/csf-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/fs-extra": ^11.0.1 fs-extra: ^11.1.0 ts-dedent: ^2.0.0 @@ -7503,14 +7348,14 @@ __metadata: languageName: unknown linkType: soft -"@storybook/source-loader@7.1.0-alpha.29, @storybook/source-loader@workspace:*, @storybook/source-loader@workspace:lib/source-loader": +"@storybook/source-loader@7.1.0-alpha.30, @storybook/source-loader@workspace:*, @storybook/source-loader@workspace:lib/source-loader": version: 0.0.0-use.local resolution: "@storybook/source-loader@workspace:lib/source-loader" dependencies: "@storybook/csf": ^0.1.0 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/types": 7.1.0-alpha.30 estraverse: ^5.2.0 - jest-specific-snapshot: ^7.0.0 + jest-specific-snapshot: ^8.0.0 lodash: ^4.17.21 prettier: ^2.8.0 typescript: ~4.9.3 @@ -7520,25 +7365,25 @@ __metadata: languageName: unknown linkType: soft -"@storybook/store@7.1.0-alpha.29, @storybook/store@workspace:*, @storybook/store@workspace:deprecated/store": +"@storybook/store@7.1.0-alpha.30, @storybook/store@workspace:*, @storybook/store@workspace:deprecated/store": version: 0.0.0-use.local resolution: "@storybook/store@workspace:deprecated/store" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 languageName: unknown linkType: soft -"@storybook/svelte-vite@7.1.0-alpha.29, @storybook/svelte-vite@workspace:frameworks/svelte-vite": +"@storybook/svelte-vite@7.1.0-alpha.30, @storybook/svelte-vite@workspace:frameworks/svelte-vite": version: 0.0.0-use.local resolution: "@storybook/svelte-vite@workspace:frameworks/svelte-vite" dependencies: - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/svelte": 7.1.0-alpha.29 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/svelte": 7.1.0-alpha.30 "@sveltejs/vite-plugin-svelte": ^2.0.0 "@types/node": ^16.0.0 - magic-string: ^0.27.0 + magic-string: ^0.30.0 svelte: ^3.0.0 sveltedoc-parser: ^4.2.1 ts-dedent: ^2.2.0 @@ -7555,10 +7400,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/svelte-webpack5@workspace:frameworks/svelte-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preset-svelte-webpack": 7.1.0-alpha.29 - "@storybook/svelte": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preset-svelte-webpack": 7.1.0-alpha.30 + "@storybook/svelte": 7.1.0-alpha.30 svelte: ^3.48.0 svelte-loader: ^3.1.2 typescript: ~4.9.3 @@ -7571,22 +7416,22 @@ __metadata: languageName: unknown linkType: soft -"@storybook/svelte@7.1.0-alpha.29, @storybook/svelte@workspace:*, @storybook/svelte@workspace:renderers/svelte": +"@storybook/svelte@7.1.0-alpha.30, @storybook/svelte@workspace:*, @storybook/svelte@workspace:renderers/svelte": version: 0.0.0-use.local resolution: "@storybook/svelte@workspace:renderers/svelte" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/core-events": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/core-events": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 - expect-type: ^0.14.2 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 + expect-type: ^0.15.0 svelte: ^3.59.1 svelte-check: ^3.4.3 sveltedoc-parser: ^4.2.1 - type-fest: 2.19.0 + type-fest: ^3.11.0 typescript: ^5.0.4 peerDependencies: svelte: ^3.1.0 @@ -7597,9 +7442,9 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/sveltekit@workspace:frameworks/sveltekit" dependencies: - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/svelte": 7.1.0-alpha.29 - "@storybook/svelte-vite": 7.1.0-alpha.29 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/svelte": 7.1.0-alpha.30 + "@storybook/svelte-vite": 7.1.0-alpha.30 "@types/node": ^16.0.0 typescript: ^4.9.3 vite: ^4.0.0 @@ -7608,18 +7453,18 @@ __metadata: languageName: unknown linkType: soft -"@storybook/telemetry@7.1.0-alpha.29, @storybook/telemetry@workspace:*, @storybook/telemetry@workspace:lib/telemetry": +"@storybook/telemetry@7.1.0-alpha.30, @storybook/telemetry@workspace:*, @storybook/telemetry@workspace:lib/telemetry": version: 0.0.0-use.local resolution: "@storybook/telemetry@workspace:lib/telemetry" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 chalk: ^4.1.0 detect-package-manager: ^2.0.1 fetch-retry: ^5.0.2 fs-extra: ^11.1.0 - isomorphic-unfetch: ^3.1.0 nanoid: ^3.3.1 + node-fetch: ^3.3.1 read-pkg-up: ^7.0.1 typescript: ~4.9.3 languageName: unknown @@ -7638,7 +7483,7 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@7.1.0-alpha.29, @storybook/theming@workspace:*, @storybook/theming@workspace:lib/theming": +"@storybook/theming@7.1.0-alpha.30, @storybook/theming@workspace:*, @storybook/theming@workspace:lib/theming": version: 0.0.0-use.local resolution: "@storybook/theming@workspace:lib/theming" dependencies: @@ -7647,7 +7492,7 @@ __metadata: "@emotion/react": ^11.10.4 "@emotion/styled": ^11.10.4 "@emotion/use-insertion-effect-with-fallbacks": ^1.0.0 - "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 "@types/fs-extra": ^11.0.1 "@types/node": ^16.0.0 @@ -7663,11 +7508,11 @@ __metadata: languageName: unknown linkType: soft -"@storybook/types@7.1.0-alpha.29, @storybook/types@workspace:*, @storybook/types@workspace:lib/types": +"@storybook/types@7.1.0-alpha.30, @storybook/types@workspace:*, @storybook/types@workspace:lib/types": version: 0.0.0-use.local resolution: "@storybook/types@workspace:lib/types" dependencies: - "@storybook/channels": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.30 "@storybook/csf": ^0.1.0 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 @@ -7677,15 +7522,15 @@ __metadata: languageName: unknown linkType: soft -"@storybook/types@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/types@npm:7.1.0-alpha.25" +"@storybook/types@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/types@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 file-system-cache: ^2.0.0 - checksum: c90f2b859cb46016ca19e644d6c4e86a0022c6315009975257263b91f173484f68eb1c5ccf5e6e98d3cfba6adbde23d0b1e88677fd2ef395ce37d2aa93fd56a0 + checksum: 29c94d3ba0b0bc4759893640e02cc83d0682f5c97dbefb1c5903a99d0341161f65eb0a65175123970a1176ff13e0f0b1661f5460583ea8de15c1b7ef18f73aeb languageName: node linkType: hard @@ -7693,11 +7538,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/vue-vite@workspace:frameworks/vue-vite" dependencies: - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/vue": 7.1.0-alpha.29 - magic-string: ^0.27.0 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/vue": 7.1.0-alpha.30 + magic-string: ^0.30.0 typescript: ~4.9.3 vite: ^4.0.0 vue: ^2.7.10 @@ -7714,10 +7559,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/vue-webpack5@workspace:frameworks/vue-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preset-vue-webpack": 7.1.0-alpha.29 - "@storybook/vue": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preset-vue-webpack": 7.1.0-alpha.30 + "@storybook/vue": 7.1.0-alpha.30 "@types/node": ^16.0.0 typescript: ~4.9.3 vue: ^2.6.12 @@ -7739,12 +7584,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/vue3-vite@workspace:frameworks/vue3-vite" dependencies: - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/vue3": 7.1.0-alpha.29 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/vue3": 7.1.0-alpha.30 "@types/node": ^16.0.0 "@vitejs/plugin-vue": ^4.0.0 - magic-string: ^0.27.0 + magic-string: ^0.30.0 typescript: ~4.9.3 vite: ^4.0.0 vue-docgen-api: ^4.40.0 @@ -7759,10 +7604,10 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/vue3-webpack5@workspace:frameworks/vue3-webpack5" dependencies: - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preset-vue3-webpack": 7.1.0-alpha.29 - "@storybook/vue3": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preset-vue3-webpack": 7.1.0-alpha.30 + "@storybook/vue3": 7.1.0-alpha.30 "@types/node": ^16.0.0 "@vue/compiler-sfc": 3.0.0 typescript: ~4.9.3 @@ -7777,20 +7622,20 @@ __metadata: languageName: unknown linkType: soft -"@storybook/vue3@7.1.0-alpha.29, @storybook/vue3@workspace:*, @storybook/vue3@workspace:renderers/vue3": +"@storybook/vue3@7.1.0-alpha.30, @storybook/vue3@workspace:*, @storybook/vue3@workspace:renderers/vue3": version: 0.0.0-use.local resolution: "@storybook/vue3@workspace:renderers/vue3" dependencies: "@digitak/esrun": ^3.2.2 - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/prettier": 2.7.2 "@vue/vue3-jest": 29 ts-dedent: ^2.0.0 - type-fest: 2.19.0 + type-fest: ^3.11.0 typescript: ~4.9.3 vue: ^3.2.47 vue-component-type-helpers: ^1.6.5 @@ -7800,18 +7645,18 @@ __metadata: languageName: unknown linkType: soft -"@storybook/vue@7.1.0-alpha.29, @storybook/vue@workspace:*, @storybook/vue@workspace:renderers/vue": +"@storybook/vue@7.1.0-alpha.30, @storybook/vue@workspace:*, @storybook/vue@workspace:renderers/vue": version: 0.0.0-use.local resolution: "@storybook/vue@workspace:renderers/vue" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 ts-dedent: ^2.0.0 - type-fest: 2.19.0 + type-fest: ^3.11.0 typescript: ~4.9.3 vue: 2.6.14 vue-tsc: ^1.0.9 @@ -7830,12 +7675,12 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/web-components-vite@workspace:frameworks/web-components-vite" dependencies: - "@storybook/builder-vite": 7.1.0-alpha.29 - "@storybook/core-server": 7.1.0-alpha.29 - "@storybook/node-logger": 7.1.0-alpha.29 - "@storybook/web-components": 7.1.0-alpha.29 + "@storybook/builder-vite": 7.1.0-alpha.30 + "@storybook/core-server": 7.1.0-alpha.30 + "@storybook/node-logger": 7.1.0-alpha.30 + "@storybook/web-components": 7.1.0-alpha.30 "@types/node": ^16.0.0 - magic-string: ^0.27.0 + magic-string: ^0.30.0 typescript: ~4.9.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7848,10 +7693,10 @@ __metadata: resolution: "@storybook/web-components-webpack5@workspace:frameworks/web-components-webpack5" dependencies: "@babel/preset-env": ^7.22.0 - "@storybook/builder-webpack5": 7.1.0-alpha.29 - "@storybook/core-common": 7.1.0-alpha.29 - "@storybook/preset-web-components-webpack": 7.1.0-alpha.29 - "@storybook/web-components": 7.1.0-alpha.29 + "@storybook/builder-webpack5": 7.1.0-alpha.30 + "@storybook/core-common": 7.1.0-alpha.30 + "@storybook/preset-web-components-webpack": 7.1.0-alpha.30 + "@storybook/web-components": 7.1.0-alpha.30 "@types/node": ^16.0.0 lit: 2.3.1 typescript: ~4.9.3 @@ -7862,17 +7707,17 @@ __metadata: languageName: unknown linkType: soft -"@storybook/web-components@7.1.0-alpha.29, @storybook/web-components@workspace:*, @storybook/web-components@workspace:renderers/web-components": +"@storybook/web-components@7.1.0-alpha.30, @storybook/web-components@workspace:*, @storybook/web-components@workspace:renderers/web-components": version: 0.0.0-use.local resolution: "@storybook/web-components@workspace:renderers/web-components" dependencies: - "@storybook/client-logger": 7.1.0-alpha.29 - "@storybook/core-client": 7.1.0-alpha.29 - "@storybook/docs-tools": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.30 + "@storybook/core-client": 7.1.0-alpha.30 + "@storybook/docs-tools": 7.1.0-alpha.30 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.1.0-alpha.29 - "@storybook/preview-api": 7.1.0-alpha.29 - "@storybook/types": 7.1.0-alpha.29 + "@storybook/manager-api": 7.1.0-alpha.30 + "@storybook/preview-api": 7.1.0-alpha.30 + "@storybook/types": 7.1.0-alpha.30 "@types/cross-spawn": ^6.0.2 "@types/node": ^16.0.0 cross-spawn: ^7.0.3 @@ -7924,90 +7769,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-darwin-arm64@npm:1.3.60" +"@swc/core-darwin-arm64@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-darwin-arm64@npm:1.3.62" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-darwin-x64@npm:1.3.60" +"@swc/core-darwin-x64@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-darwin-x64@npm:1.3.62" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.60" +"@swc/core-linux-arm-gnueabihf@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.62" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.60" +"@swc/core-linux-arm64-gnu@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.62" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.60" +"@swc/core-linux-arm64-musl@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.62" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.60" +"@swc/core-linux-x64-gnu@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.62" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-x64-musl@npm:1.3.60" +"@swc/core-linux-x64-musl@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-x64-musl@npm:1.3.62" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.60" +"@swc/core-win32-arm64-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.62" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.60" +"@swc/core-win32-ia32-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.62" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.60" +"@swc/core-win32-x64-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.62" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.23, @swc/core@npm:^1.3.49": - version: 1.3.60 - resolution: "@swc/core@npm:1.3.60" - dependencies: - "@swc/core-darwin-arm64": 1.3.60 - "@swc/core-darwin-x64": 1.3.60 - "@swc/core-linux-arm-gnueabihf": 1.3.60 - "@swc/core-linux-arm64-gnu": 1.3.60 - "@swc/core-linux-arm64-musl": 1.3.60 - "@swc/core-linux-x64-gnu": 1.3.60 - "@swc/core-linux-x64-musl": 1.3.60 - "@swc/core-win32-arm64-msvc": 1.3.60 - "@swc/core-win32-ia32-msvc": 1.3.60 - "@swc/core-win32-x64-msvc": 1.3.60 + version: 1.3.62 + resolution: "@swc/core@npm:1.3.62" + dependencies: + "@swc/core-darwin-arm64": 1.3.62 + "@swc/core-darwin-x64": 1.3.62 + "@swc/core-linux-arm-gnueabihf": 1.3.62 + "@swc/core-linux-arm64-gnu": 1.3.62 + "@swc/core-linux-arm64-musl": 1.3.62 + "@swc/core-linux-x64-gnu": 1.3.62 + "@swc/core-linux-x64-musl": 1.3.62 + "@swc/core-win32-arm64-msvc": 1.3.62 + "@swc/core-win32-ia32-msvc": 1.3.62 + "@swc/core-win32-x64-msvc": 1.3.62 peerDependencies: "@swc/helpers": ^0.5.0 dependenciesMeta: @@ -8034,7 +7879,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: ec016437e1814cd4ca75bd96925dfda759a839f95163c0e647ac3eb5e055a9145269b6daf1c7956aab49c0a0c2d92d4619c69c1924faaef5414ea36e25f22baf + checksum: aaa0827960f656c762733836938d31b2d596495b8430eb6feb0d1f6b1416b3444e7b59c326ae37ee410d8d3d25fff20ac8ff0f66ebe8a87e7fae1ca651aff915 languageName: node linkType: hard @@ -8059,6 +7904,15 @@ __metadata: languageName: node linkType: hard +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: ^2.0.0 + checksum: 73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f + languageName: node + linkType: hard + "@testing-library/dom@npm:^7.28.1, @testing-library/dom@npm:^7.29.4": version: 7.31.2 resolution: "@testing-library/dom@npm:7.31.2" @@ -8132,13 +7986,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: 8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -8261,11 +8108,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.0 - resolution: "@types/babel__traverse@npm:7.20.0" + version: 7.20.1 + resolution: "@types/babel__traverse@npm:7.20.1" dependencies: "@babel/types": ^7.20.7 - checksum: 9a4cfe345fc681f6009f11de705d19c6546fc681b9c7408f2ddd3eb18e8cbfbae80b63e153ac62afdd5a4e9beb57987b377dc2f84d50c477e5470abce9648e74 + checksum: 5a6a3a26be090573309527184a31f1b82ef55f3d73d811c15f181d323e471305f2390651a04d49d4cd4ca41bbeabb53c9f7862a8e09eab5a0f8910a6aec6e867 languageName: node linkType: hard @@ -8288,6 +8135,18 @@ __metadata: languageName: node linkType: hard +"@types/cacheable-request@npm:^6.0.1": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "*" + "@types/keyv": ^3.1.4 + "@types/node": "*" + "@types/responselike": ^1.0.0 + checksum: 10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 + languageName: node + linkType: hard + "@types/cheerio@npm:^0.22.22": version: 0.22.31 resolution: "@types/cheerio@npm:0.22.31" @@ -8360,9 +8219,9 @@ __metadata: linkType: hard "@types/detect-port@npm:^1.3.0": - version: 1.3.2 - resolution: "@types/detect-port@npm:1.3.2" - checksum: 4c9ab349b8724e32879c1d241c374e674ce040783dc6768b19d844afff011d1a70adaaf93bf96e1ed33eef9c88cc6c27ce7dce82a1cec8c6e9992ae445a5a255 + version: 1.3.3 + resolution: "@types/detect-port@npm:1.3.3" + checksum: 27c8000e3d41fd1158e2213b31c90b63852299ed66e4604b028a7146519530ab129b8ff867db02b06a32f61e7764f8d5aff0c44c5f543ce2b4b035e5968b62e1 languageName: node linkType: hard @@ -8499,7 +8358,7 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3, @types/glob@npm:~7.2.0": +"@types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" dependencies: @@ -8534,6 +8393,13 @@ __metadata: languageName: node linkType: hard +"@types/http-cache-semantics@npm:*": + version: 4.0.1 + resolution: "@types/http-cache-semantics@npm:4.0.1" + checksum: 6d6068110a04cac213bdc0fff9c7bac028b5a2da390492204328987d8ddc500adc10d9cf5747a6333dab261712655dcfe120ea1d5527c205d012a39cdccc2a7b + languageName: node + linkType: hard + "@types/http-proxy@npm:^1.17.8": version: 1.17.11 resolution: "@types/http-proxy@npm:1.17.11" @@ -8577,14 +8443,14 @@ __metadata: languageName: node linkType: hard -"@types/jest-image-snapshot@npm:^5.1.0": - version: 5.1.0 - resolution: "@types/jest-image-snapshot@npm:5.1.0" +"@types/jest-image-snapshot@npm:^6.0.0": + version: 6.1.0 + resolution: "@types/jest-image-snapshot@npm:6.1.0" dependencies: "@types/jest": "*" "@types/pixelmatch": "*" ssim.js: ^3.1.1 - checksum: c25db75b38960a84cc999a8b07f6f244d22e5e2c9965f78dc15c4249ec71a403363a50ee69884cdf66fcaf5a9ef125363316929fa1925d38868b3937c110138b + checksum: f811e9d49c1600ed85745bb5be3b0bb0c6da719eb761d62fa6f21214ca6e0ad822bc3643e7ab7260452e180dbabc2530661eb10688e49de2cb2c950bd2252ccf languageName: node linkType: hard @@ -8598,19 +8464,19 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:>=26.0.0": - version: 29.5.1 - resolution: "@types/jest@npm:29.5.1" + version: 29.5.2 + resolution: "@types/jest@npm:29.5.2" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: ba9df58fa0c813e1dda529e34bcec2d0e0bbac2d3e921a86c8e10d77fc5165bd8e5324eeb7071bfe0490e7d1055db34ef80d57e05bd967edae00df4158097ec6 + checksum: e85525fe83a0792632a31ca32968b33a0014d617442e9a515357d2aa8890052ef622b1f6fd25d48f4f1a3ab806bed94e6d9b056dea23a897464e0e35957ff654 languageName: node linkType: hard -"@types/js-yaml@npm:^3.12.6": - version: 3.12.7 - resolution: "@types/js-yaml@npm:3.12.7" - checksum: 7df8078fb1783e04f6b24b97378ec396359d81bda4fe9cf352ec35bb055b3d4034854582f9b337d5d7a946c622265f422aca7f61bf872e2acaed07f317bedb06 +"@types/js-yaml@npm:^4.0.5": + version: 4.0.5 + resolution: "@types/js-yaml@npm:4.0.5" + checksum: 37eb783b16f1704d26bbf83b35cf5d12f6018c18f2c9232515468ac60a4c5b71b6344a7b872545eeca3dfd66bb17e2bb1e611646cc727d7c6a001165a4ec0a32 languageName: node linkType: hard @@ -8624,17 +8490,6 @@ __metadata: languageName: node linkType: hard -"@types/jsdom@npm:^16.2.4": - version: 16.2.15 - resolution: "@types/jsdom@npm:16.2.15" - dependencies: - "@types/node": "*" - "@types/parse5": ^6.0.3 - "@types/tough-cookie": "*" - checksum: d4ea8dc4568ba5cf37c3c246be360d45758d47ff056ca1321e23f5ff680dc63177ec78f9a82218d2f3c936ca458ea056c05ff37a2c5abca28410bd0120763ea7 - languageName: node - linkType: hard - "@types/jsdom@npm:^20.0.0": version: 20.0.1 resolution: "@types/jsdom@npm:20.0.1" @@ -8669,6 +8524,15 @@ __metadata: languageName: node linkType: hard +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "*" + checksum: ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + "@types/lodash@npm:^4.14.167": version: 4.14.195 resolution: "@types/lodash@npm:4.14.195" @@ -8788,13 +8652,6 @@ __metadata: languageName: node linkType: hard -"@types/overlayscrollbars@npm:^1.12.0": - version: 1.12.1 - resolution: "@types/overlayscrollbars@npm:1.12.1" - checksum: 01e5f3e96ddb349fc49c7e6d8b5b6e2c930c4e50d19d3f269df8f537d149cb054ddfe9db617fb7c071f0799163cd9e633e4d23491f070c9888bca827b0b964e7 - languageName: node - linkType: hard - "@types/parse-json@npm:^4.0.0": version: 4.0.0 resolution: "@types/parse-json@npm:4.0.0" @@ -8802,13 +8659,6 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.3": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: a7c7ef6625974b74b93c1105953003a2291897e453369efcadc569b907de2784d61d4e6905de3ef959fa07f3278f41ed0c22ead0173776023fc43b6ed31042d0 - languageName: node - linkType: hard - "@types/picomatch@npm:^2.3.0": version: 2.3.0 resolution: "@types/picomatch@npm:2.3.0" @@ -8825,13 +8675,20 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:2.7.2, @types/prettier@npm:^2.1.5": +"@types/prettier@npm:2.7.2": version: 2.7.2 resolution: "@types/prettier@npm:2.7.2" checksum: 16ffbd1135c10027f118517d3b12aaaf3936be1f3c6e4c6c9c03d26d82077c2d86bf0dcad545417896f29e7d90faf058aae5c9db2e868be64298c644492ea29e languageName: node linkType: hard +"@types/prettier@npm:^2.1.5": + version: 2.7.3 + resolution: "@types/prettier@npm:2.7.3" + checksum: 0960b5c1115bb25e979009d0b44c42cf3d792accf24085e4bfce15aef5794ea042e04e70c2139a2c3387f781f18c89b5706f000ddb089e9a4a2ccb7536a2c5f0 + languageName: node + linkType: hard + "@types/pretty-hrtime@npm:^1.0.0": version: 1.0.1 resolution: "@types/pretty-hrtime@npm:1.0.1" @@ -8933,6 +8790,15 @@ __metadata: languageName: node linkType: hard +"@types/responselike@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/responselike@npm:1.0.0" + dependencies: + "@types/node": "*" + checksum: 474ac2402e6d43c007eee25f50d01eb1f67255ca83dd8e036877292bbe8dd5d2d1e50b54b408e233b50a8c38e681ff3ebeaf22f18b478056eddb65536abb003a + languageName: node + linkType: hard + "@types/retry@npm:0.12.0": version: 0.12.0 resolution: "@types/retry@npm:0.12.0" @@ -8950,16 +8816,6 @@ __metadata: languageName: node linkType: hard -"@types/rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "@types/rimraf@npm:3.0.2" - dependencies: - "@types/glob": "*" - "@types/node": "*" - checksum: 08beaf5d5ac6d6ecb76df74e3f873453feab079b5993f7cdd00bf2789bc2dea6917d5d24e75a5346fe201f396fa8a6eccb1291f97695997e34733f9663228a86 - languageName: node - linkType: hard - "@types/scheduler@npm:*": version: 0.16.3 resolution: "@types/scheduler@npm:0.16.3" @@ -9012,16 +8868,6 @@ __metadata: languageName: node linkType: hard -"@types/shelljs@npm:^0.8.7": - version: 0.8.12 - resolution: "@types/shelljs@npm:0.8.12" - dependencies: - "@types/glob": ~7.2.0 - "@types/node": "*" - checksum: a29f5ef3d61b243e07f642dfb34471a1f2bde2883b217f83afab74a944aaafbf014ca15644cc543d68f6ea7e11e1241ce7e029e0e4555ef8e2869476b5993d47 - languageName: node - linkType: hard - "@types/sockjs@npm:^0.3.33": version: 0.3.33 resolution: "@types/sockjs@npm:0.3.33" @@ -9142,15 +8988,6 @@ __metadata: languageName: node linkType: hard -"@types/webpack-dev-middleware@npm:^5.3.0": - version: 5.3.0 - resolution: "@types/webpack-dev-middleware@npm:5.3.0" - dependencies: - webpack-dev-middleware: "*" - checksum: 338d8d067192a767c54285ef39116f4d09fe170297a22a6fafc6f2bfdaa64f01dea415767921e076380515e7e83e7fa03ce83eb1efc40665508c0daec48f57ee - languageName: node - linkType: hard - "@types/webpack-env@npm:^1.16.0, @types/webpack-env@npm:^1.17.0, @types/webpack-env@npm:^1.18.0": version: 1.18.1 resolution: "@types/webpack-env@npm:1.18.1" @@ -9256,13 +9093,13 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/eslint-plugin@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/eslint-plugin@npm:5.59.9" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/type-utils": 5.59.7 - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/type-utils": 5.59.9 + "@typescript-eslint/utils": 5.59.9 debug: ^4.3.4 grapheme-splitter: ^1.0.4 ignore: ^5.2.0 @@ -9275,54 +9112,54 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 78b583230a7a20e6a06bc9cd1c10ef6d334bdf8d0179a66b2f3d6ebb2b1ac5685ea5266443f8c833719ea62c2768f28a625fd64c5e83b9408a6d41aaffe35db0 + checksum: 4bb9981bcc009c044ffd6b64288309480df2b6c9cdf6b345987e4b565d0973d1d98b7209f6b46b92880735d788f564e17553641087aa59f67990c84526622a27 languageName: node linkType: hard "@typescript-eslint/experimental-utils@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/experimental-utils@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/experimental-utils@npm:5.59.9" dependencies: - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/utils": 5.59.9 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 6acfb9b10d2045d16c84f38a6b555016ae3d427a4d6afdd7208ad337ac28131bc06f760a9880cac5910760b5921fc6ce0b228937f2aedbfbbca2516b92f1dd76 + checksum: 55b443a2b62f1736babb1f463175d9903267a423b4ba1f0e4f5092018805cf6f8ba0ffcbab4cf963f85fe219497870cdd41c4c7b222efafc1a52502e262da501 languageName: node linkType: hard "@typescript-eslint/parser@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/parser@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/parser@npm:5.59.9" dependencies: - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/typescript-estree": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/typescript-estree": 5.59.9 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: c6248149be43fbea69f93cc1c56c17265c58639aa520b8afe242e7dac43712d1dd2bbc93fedd6a017b8799d68b1a51c8d802bc402184e9d2813bfc92a08bc204 + checksum: af0e041e8a541734ff237ec0eac47e355c2f78dd2b0db4eb4ab0c10ba1b6d5d70f84ddc16f856bc72c4cacd53ef04b5f4948baffb5c8cb2d9a0ffd83a8fbc547 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/scope-manager@npm:5.59.7" +"@typescript-eslint/scope-manager@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/scope-manager@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/visitor-keys": 5.59.7 - checksum: e1cc89cf4a9b5fe3cc1b7921fb64cffe7e7179347a19c42e67c4b1ebbae88d7c997d1c3b6f24d11ef184ed35853115ec1d1c249da8b15c5dbffc5606e662b23a + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/visitor-keys": 5.59.9 + checksum: 41622fd270e5b8574347ed5dd020bbb9752d85e6f40df180e944c1110d9bd2227a949067feb23dd4117dd2be0623c05a47bc363abe605c96deb295753f6dd080 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/type-utils@npm:5.59.7" +"@typescript-eslint/type-utils@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/type-utils@npm:5.59.9" dependencies: - "@typescript-eslint/typescript-estree": 5.59.7 - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/typescript-estree": 5.59.9 + "@typescript-eslint/utils": 5.59.9 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -9330,23 +9167,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 882cb0ea0c2d660b64d0c05ff28baf2504c04ad9a4e12ceb70f9679025397ac0709455f489662a1f92ae7fa5be535447c3d26979598ef1e23ceed4cdf8078ca5 + checksum: c3a9773d2b81350923025933623e1572538f79bf119b40bed17389eda11632f6d364a49b385aa6d915d85f7c3d45376085cc55263d865dbc2b753598bba6473b languageName: node linkType: hard -"@typescript-eslint/types@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/types@npm:5.59.7" - checksum: 3bb11afe5eff16bde59fc7b0f479787fdc1764b9d836d4d32a587b058bb868057080b3ead7ef4d73feb17ac15765f2fbd74bad311263eea0ac3f29198a00b645 +"@typescript-eslint/types@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/types@npm:5.59.9" + checksum: 951046891bcc9fa27d72a5489b496291e44cedcff204d3ce6c10c8916fc5e255332738efd4d7555200a55b49ff4ba1204e186960d216d51fea89fe92a982180e languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/typescript-estree@npm:5.59.7" +"@typescript-eslint/typescript-estree@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/typescript-estree@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/visitor-keys": 5.59.7 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/visitor-keys": 5.59.9 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -9355,35 +9192,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6b16d6fbe0e2111c9cb37c5bcd8834747f8ea2db0350df54e1aa13c1b09919efad8329b9a40c7bf7f4c8426fab50ce6ddf8e9f1731b8c93678e3af51c21102b5 + checksum: 2f3d8df6d454fbc52d305abfe8447bff8e8d63294ce47e4679c920f647643f5d15a1f693caf74f4fabece12d5ba27ebdb156d507b16fbd2751fc01ba6c4df3c8 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.59.7, @typescript-eslint/utils@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/utils@npm:5.59.7" +"@typescript-eslint/utils@npm:5.59.9, @typescript-eslint/utils@npm:^5.45.0": + version: 5.59.9 + resolution: "@typescript-eslint/utils@npm:5.59.9" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/typescript-estree": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/typescript-estree": 5.59.9 eslint-scope: ^5.1.1 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: d7d0c5a12ddefb5c9aaed100a8dfab181b74b04562f46e047904979fd4dfb9c76944cf88ffba5799a57c1af67e6906a3a1e1444f1fe119dda41f9cf233e995c4 + checksum: b8a04a83c121faa3e36abb2b6113f2e0ec5cf86884d0cb8619bfc50f7442341ee17e4495d69f8abeb6edad9e0347de8382ea1708a5fd6da1e4c80b7b8215c6ab languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/visitor-keys@npm:5.59.7" +"@typescript-eslint/visitor-keys@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/visitor-keys@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 + "@typescript-eslint/types": 5.59.9 eslint-visitor-keys: ^3.3.0 - checksum: 5cc1d7ddd8a1715de3398651d0ae183a9beafc2e49630cf5a40fc53afac60fae9b61631ee418686c211c8cc395d8d84dc182945659700fb846f06de106f5c114 + checksum: 882fd03830cbe0eca8f9a547aecc6519ddbec10e55f5f3de66e605a3f3d42a6237abd3c09b34d9cc3343c8e11386e999876aec384efe523e1478cb22752d326d languageName: node linkType: hard @@ -9942,12 +9779,12 @@ __metadata: linkType: hard "@yarnpkg/parsers@npm:^3.0.0-rc.18": - version: 3.0.0-rc.44 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.44" + version: 3.0.0-rc.45 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.45" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: b4f6ccec3a4e91332c4f5ae76c8949b25a427062ba0e1e1358591f4de839458af8dd471481be4086de960aa83a781ea7b70bcf4f38b1738dcf8b4309fd2ef2a7 + checksum: 64dfeae26c5782a722bcb3e936a43280ff46861f09042e32add6f1b7a1845ef3081ee515b60dd09ae9cd77cc28a85877bdcd9ba4b143bc1413edf71553698041 languageName: node linkType: hard @@ -9974,14 +9811,14 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.5, abab@npm:^2.0.6": +"abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 languageName: node linkType: hard -"abbrev@npm:1, abbrev@npm:^1.0.0": +"abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: 3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 @@ -10014,16 +9851,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 5f92390a3fd7e5a4f84fe976d4650e2a33ecf27135aa9efc5406e3406df7f00a1bbb00648ee0c8058846f55ad0924ff574e6c73395705690e754589380a41801 - languageName: node - linkType: hard - "acorn-globals@npm:^7.0.0": version: 7.0.1 resolution: "acorn-globals@npm:7.0.1" @@ -10052,7 +9879,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1, acorn-walk@npm:^7.2.0": +"acorn-walk@npm:^7.2.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c @@ -10075,7 +9902,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1": +"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": version: 8.8.2 resolution: "acorn@npm:8.8.2" bin: @@ -10108,15 +9935,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:4, agent-base@npm:^4.3.0": - version: 4.3.0 - resolution: "agent-base@npm:4.3.0" - dependencies: - es6-promisify: ^5.0.0 - checksum: a618d4e4ca7c0c2023b2664346570773455c501a930718764f65016a8a9eea6d2ab5ba54255589e46de529bab4026a088523dce17f94e34ba385af1f644febe1 - languageName: node - linkType: hard - "agent-base@npm:5": version: 5.1.1 resolution: "agent-base@npm:5.1.1" @@ -10133,7 +9951,7 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.1.3, agentkeepalive@npm:^4.2.1": +"agentkeepalive@npm:^4.2.1": version: 4.3.0 resolution: "agentkeepalive@npm:4.3.0" dependencies: @@ -10337,7 +10155,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": +"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0": version: 6.2.1 resolution: "ansi-styles@npm:6.2.1" checksum: 5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c @@ -10800,13 +10618,6 @@ __metadata: languageName: node linkType: hard -"atob-lite@npm:^2.0.0": - version: 2.0.0 - resolution: "atob-lite@npm:2.0.0" - checksum: 8073795465dad14aa92b2cd3322472e93dbc8b87da5740150bbae9d716ee6cc254af1c375b7310a475d876eb24c25011584ae9c1277bdb3eb53ebb4cd236f501 - languageName: node - linkType: hard - "atob@npm:^2.1.2": version: 2.1.2 resolution: "atob@npm:2.1.2" @@ -10859,12 +10670,13 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.1": - version: 0.21.4 - resolution: "axios@npm:0.21.4" +"axios@npm:^0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" dependencies: - follow-redirects: ^1.14.0 - checksum: fbcff55ec68f71f02d3773d467db2fcecdf04e749826c82c2427a232f9eba63242150a05f15af9ef15818352b814257541155de0281f8fb2b7e8a5b79f7f2142 + follow-redirects: ^1.14.9 + form-data: ^4.0.0 + checksum: 76d673d2a90629944b44d6f345f01e58e9174690f635115d5ffd4aca495d99bcd8f95c590d5ccb473513f5ebc1d1a6e8934580d0c57cdd0498c3a101313ef771 languageName: node linkType: hard @@ -11070,7 +10882,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.2": +"babel-plugin-polyfill-corejs2@npm:^0.4.3": version: 0.4.3 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.3" dependencies: @@ -11254,10 +11066,12 @@ __metadata: languageName: node linkType: hard -"basic-auth@npm:^1.0.3": - version: 1.1.0 - resolution: "basic-auth@npm:1.1.0" - checksum: af1d7687a1f71acb823c44f6ae8f085dcdb450ff74cb6c98a9a68a3b7a7035050ddac10049d98046771ee4be5c534d5aeeae2304c9c7434f54433260ddef96aa +"basic-auth@npm:^2.0.1": + version: 2.0.1 + resolution: "basic-auth@npm:2.0.1" + dependencies: + safe-buffer: 5.1.2 + checksum: 05f56db3a0fc31c89c86b605231e32ee143fb6ae38dc60616bc0970ae6a0f034172def99e69d3aed0e2c9e7cac84e2d63bc51a0b5ff6ab5fc8808cc8b29923c1 languageName: node linkType: hard @@ -11268,7 +11082,7 @@ __metadata: languageName: node linkType: hard -"before-after-hook@npm:^2.0.0, before-after-hook@npm:^2.1.0, before-after-hook@npm:^2.2.0": +"before-after-hook@npm:^2.1.0, before-after-hook@npm:^2.2.0": version: 2.2.3 resolution: "before-after-hook@npm:2.2.3" checksum: 0488c4ae12df758ca9d49b3bb27b47fd559677965c52cae7b335784724fb8bf96c42b6e5ba7d7afcbc31facb0e294c3ef717cc41c5bc2f7bd9e76f8b90acd31c @@ -11290,12 +11104,12 @@ __metadata: languageName: node linkType: hard -"better-opn@npm:^2.1.1": - version: 2.1.1 - resolution: "better-opn@npm:2.1.1" +"better-opn@npm:^3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" dependencies: - open: ^7.0.3 - checksum: c483f52a1c71555926df37a89ae7e521cddff6509e2a02c6af83c2c500e20cb3307417579ce1d5ec4d09855cc7d30f608b20934e7cedc54218888722d5bfc1d3 + open: ^8.0.4 + checksum: 911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 languageName: node linkType: hard @@ -11800,7 +11614,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:4.21.5, browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": +"browserslist@npm:4.21.5": version: 4.21.5 resolution: "browserslist@npm:4.21.5" dependencies: @@ -11814,6 +11628,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": + version: 4.21.7 + resolution: "browserslist@npm:4.21.7" + dependencies: + caniuse-lite: ^1.0.30001489 + electron-to-chromium: ^1.4.411 + node-releases: ^2.0.12 + update-browserslist-db: ^1.0.11 + bin: + browserslist: cli.js + checksum: c523a982ef5d4141907795bbb72d7e2c5df79b2c6e495ef8ff6405b6734a2f16529a7f54c86b113085cad8a3359ac2fc6a478e86ae715084ba7384b9344b2ef5 + languageName: node + linkType: hard + "bs-logger@npm:0.x, bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -11832,13 +11660,6 @@ __metadata: languageName: node linkType: hard -"btoa-lite@npm:^1.0.0": - version: 1.0.0 - resolution: "btoa-lite@npm:1.0.0" - checksum: 7a4f0568ae3c915464650f98fde7901ae07b13a333a614515a0c86876b3528670fafece28dfef9745d971a613bb83341823afb0c20c6f318b384c1e364b9eb95 - languageName: node - linkType: hard - "buffer-crc32@npm:^0.2.5, buffer-crc32@npm:~0.2.3": version: 0.2.13 resolution: "buffer-crc32@npm:0.2.13" @@ -11950,8 +11771,8 @@ __metadata: linkType: hard "c8@npm:^7.6.0": - version: 7.13.0 - resolution: "c8@npm:7.13.0" + version: 7.14.0 + resolution: "c8@npm:7.14.0" dependencies: "@bcoe/v8-coverage": ^0.2.3 "@istanbuljs/schema": ^0.1.3 @@ -11967,7 +11788,7 @@ __metadata: yargs-parser: ^20.2.9 bin: c8: bin/c8.js - checksum: 9c53fdd7062a36a72f426d245f7646053c6e314f6e88bc64fa7d458c6c37801371d5894cdb0617a9b7cbb17f85aac5523b4d15cf42d40612136d5080b73d3212 + checksum: 8946f55f2dcc85bf146f429a3deeede78502da245e515a2d181342475d8d8698b4055ec1d9b887ab8e1615f49c1a2af4d63557e68b2005844572fb785991e148 languageName: node linkType: hard @@ -11992,32 +11813,6 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.2.0": - version: 15.3.0 - resolution: "cacache@npm:15.3.0" - dependencies: - "@npmcli/fs": ^1.0.0 - "@npmcli/move-file": ^1.0.1 - chownr: ^2.0.0 - fs-minipass: ^2.0.0 - glob: ^7.1.4 - infer-owner: ^1.0.4 - lru-cache: ^6.0.0 - minipass: ^3.1.1 - minipass-collect: ^1.0.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.2 - mkdirp: ^1.0.3 - p-map: ^4.0.0 - promise-inflight: ^1.0.1 - rimraf: ^3.0.2 - ssri: ^8.0.1 - tar: ^6.0.2 - unique-filename: ^1.1.1 - checksum: 886fcc0acc4f6fd5cd142d373d8276267bc6d655d7c4ce60726fbbec10854de3395ee19bbf9e7e73308cdca9fdad0ad55060ff3bd16c6d4165c5b8d21515e1d8 - languageName: node - linkType: hard - "cacache@npm:^16.1.0": version: 16.1.3 resolution: "cacache@npm:16.1.3" @@ -12081,12 +11876,34 @@ __metadata: languageName: node linkType: hard -"calculate-cache-key-for-tree@npm:^2.0.0": - version: 2.0.0 - resolution: "calculate-cache-key-for-tree@npm:2.0.0" - dependencies: - json-stable-stringify: ^1.0.1 - checksum: fbba17e540c4c3118488f252825a7d7b37cc84334063041fb86b6c4781c49cacc638f05f04e32b86c5a57d116a57113adeb851ee49f6e06d38e210ce5775c31f +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c + languageName: node + linkType: hard + +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: ^1.0.2 + get-stream: ^5.1.0 + http-cache-semantics: ^4.0.0 + keyv: ^4.0.0 + lowercase-keys: ^2.0.0 + normalize-url: ^6.0.1 + responselike: ^2.0.0 + checksum: 0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 + languageName: node + linkType: hard + +"calculate-cache-key-for-tree@npm:^2.0.0": + version: 2.0.0 + resolution: "calculate-cache-key-for-tree@npm:2.0.0" + dependencies: + json-stable-stringify: ^1.0.1 + checksum: fbba17e540c4c3118488f252825a7d7b37cc84334063041fb86b6c4781c49cacc638f05f04e32b86c5a57d116a57113adeb851ee49f6e06d38e210ce5775c31f languageName: node linkType: hard @@ -12153,10 +11970,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001464": - version: 1.0.30001489 - resolution: "caniuse-lite@npm:1.0.30001489" - checksum: aa74c0fbf2069eb1bee9eefb715a603bc449421ef776649e321c5eed350dd64e4d9b75d89e568b7b871b11f7d26a7c5b4911035d1544bf2d3c2e3591e44d1c01 +"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001489": + version: 1.0.30001495 + resolution: "caniuse-lite@npm:1.0.30001495" + checksum: 5334922c6527606fe002aec0553ae99a8529b9d0c3a3440159956121d2e80450d4b45855d4fc6a97e44725639aaf1b4c0f9ecd94a417c05afd1b2a57a12b0af5 languageName: node linkType: hard @@ -12184,6 +12001,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:5.2.0, chalk@npm:^5.2.0": + version: 5.2.0 + resolution: "chalk@npm:5.2.0" + checksum: 8a519b35c239f96e041b7f1ed8fdd79d3ca2332a8366cb957378b8a1b8a4cdfb740d19628e8bf74654d4c0917aa10cf39c20752e177a1304eac29a1168a740e9 + languageName: node + linkType: hard + "chalk@npm:^2.0.0, chalk@npm:^2.1.0, chalk@npm:^2.3.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -12215,13 +12039,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.2.0": - version: 5.2.0 - resolution: "chalk@npm:5.2.0" - checksum: 8a519b35c239f96e041b7f1ed8fdd79d3ca2332a8366cb957378b8a1b8a4cdfb740d19628e8bf74654d4c0917aa10cf39c20752e177a1304eac29a1168a740e9 - languageName: node - linkType: hard - "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -12510,6 +12327,16 @@ __metadata: languageName: node linkType: hard +"cli-truncate@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-truncate@npm:3.1.0" + dependencies: + slice-ansi: ^5.0.0 + string-width: ^5.0.0 + checksum: a19088878409ec0e5dc2659a5166929629d93cfba6d68afc9cde2282fd4c751af5b555bf197047e31c87c574396348d011b7aa806fec29c4139ea4f7f00b324c + languageName: node + linkType: hard + "cli-width@npm:^3.0.0": version: 3.0.0 resolution: "cli-width@npm:3.0.0" @@ -12579,6 +12406,15 @@ __metadata: languageName: node linkType: hard +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: ^1.0.0 + checksum: 06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + "clone@npm:^1.0.2": version: 1.0.4 resolution: "clone@npm:1.0.4" @@ -12702,14 +12538,14 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^2.0.10, colorette@npm:^2.0.16, colorette@npm:^2.0.19": +"colorette@npm:^2.0.10, colorette@npm:^2.0.19": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 languageName: node linkType: hard -"colors@npm:1.4.0, colors@npm:^1.4.0": +"colors@npm:1.4.0": version: 1.4.0 resolution: "colors@npm:1.4.0" checksum: 9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb @@ -12726,7 +12562,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8": +"combined-stream@npm:^1.0.8": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -12742,6 +12578,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^10.0.0": + version: 10.0.1 + resolution: "commander@npm:10.0.1" + checksum: 53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 + languageName: node + linkType: hard + "commander@npm:^2.18.0, commander@npm:^2.19.0, commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" @@ -12756,7 +12599,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.2.0, commander@npm:^6.2.1": +"commander@npm:^6.2.1": version: 6.2.1 resolution: "commander@npm:6.2.1" checksum: 85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea @@ -13179,6 +13022,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:^3.8.2": + version: 3.30.2 + resolution: "core-js@npm:3.30.2" + checksum: 864d7dc908d4ece507d27e6c6d2830300dcb775d88cfefeec31e34ab95be5016bb23abb29c8b1c4a930bada01318af009276199d75dcab1a230c3cebdf8d3a70 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -13232,14 +13082,14 @@ __metadata: linkType: hard "cosmiconfig@npm:^8.1.3": - version: 8.1.3 - resolution: "cosmiconfig@npm:8.1.3" + version: 8.2.0 + resolution: "cosmiconfig@npm:8.2.0" dependencies: import-fresh: ^3.2.1 js-yaml: ^4.1.0 parse-json: ^5.0.0 path-type: ^4.0.0 - checksum: 80144be230b89857e7c4cafd59ba8feb3f5f7e6dae90faa324629fdecf9a6fc3f5b4106c3623f69a1a3d77cb11ef90e5ab65a67f21d73ffda3d76b18f8e4e6c2 + checksum: 4180aa6d1881b75ba591b2fc04b022741a3a4b67e9e243c0eb8d169b6e1efbd3cdf7e8ca19243c0f2e53a9d59ac3eccd5cad5f95f487fcbf4e740f9e86745747 languageName: node linkType: hard @@ -13382,20 +13232,20 @@ __metadata: linkType: hard "css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": - version: 6.7.4 - resolution: "css-loader@npm:6.7.4" + version: 6.8.1 + resolution: "css-loader@npm:6.8.1" dependencies: icss-utils: ^5.1.0 postcss: ^8.4.21 postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.1 + postcss-modules-local-by-default: ^4.0.3 postcss-modules-scope: ^3.0.0 postcss-modules-values: ^4.0.0 postcss-value-parser: ^4.2.0 semver: ^7.3.8 peerDependencies: webpack: ^5.0.0 - checksum: 8dde268a3ae2014a6abd9ad2167b8c153ac06394171b335a00f53ed9eebe5b1f11c3942bba830e5e28d0f940a67ce0ebb2cf0c394cbad84dd271529ff09e4fcf + checksum: a6e23de4ec1d2832f10b8ca3cfec6b6097a97ca3c73f64338ae5cd110ac270f1b218ff0273d39f677a7a561f1a9d9b0d332274664d0991bcfafaae162c2669c4 languageName: node linkType: hard @@ -13532,32 +13382,32 @@ __metadata: languageName: node linkType: hard -"danger@npm:^10.6.2": - version: 10.9.0 - resolution: "danger@npm:10.9.0" +"danger@npm:^11.2.6": + version: 11.2.6 + resolution: "danger@npm:11.2.6" dependencies: - "@babel/polyfill": ^7.2.5 - "@octokit/rest": ^16.43.1 + "@gitbeaker/node": ^21.3.0 + "@octokit/rest": ^18.12.0 async-retry: 1.2.3 chalk: ^2.3.0 commander: ^2.18.0 + core-js: ^3.8.2 debug: ^4.1.1 fast-json-patch: ^3.0.0-1 get-stdin: ^6.0.0 - gitlab: ^10.0.1 - http-proxy-agent: ^2.1.0 - https-proxy-agent: ^2.2.1 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.1 hyperlinker: ^1.0.0 json5: ^2.1.0 jsonpointer: ^5.0.0 - jsonwebtoken: ^8.4.0 + jsonwebtoken: ^9.0.0 lodash.find: ^4.6.0 lodash.includes: ^4.3.0 lodash.isobject: ^3.0.2 lodash.keys: ^4.0.8 lodash.mapvalues: ^4.6.0 lodash.memoize: ^4.1.2 - memfs-or-file-map-to-github-branch: ^1.1.0 + memfs-or-file-map-to-github-branch: ^1.2.1 micromatch: ^4.0.4 node-cleanup: ^2.1.2 node-fetch: ^2.6.7 @@ -13570,6 +13420,7 @@ __metadata: pinpoint: ^1.1.0 prettyjson: ^1.2.1 readline-sync: ^1.4.9 + regenerator-runtime: ^0.13.9 require-from-string: ^2.0.2 supports-hyperlinks: ^1.0.1 bin: @@ -13582,7 +13433,7 @@ __metadata: danger-process: distribution/commands/danger-process.js danger-reset-status: distribution/commands/danger-reset-status.js danger-runner: distribution/commands/danger-runner.js - checksum: b8a6d9d04d0ea97ee0a7bf76c6062a6499616e2b0a1a3acbe604b0115a34bbdfba1bb9e096a0abe7f58be3f7d7eb53cfbb42ff36d21184b15fce0cccbf5ee1ed + checksum: 2968fbf2be3eb4b337d95e929381f69bd226bb45e54a44546600242275aae50e3a9e48557f1e0625e542d9fc99bdd67656591434aa2fdeea1f8e64a59de8b91f languageName: node linkType: hard @@ -13593,7 +13444,14 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.1, data-urls@npm:^3.0.2": +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + +"data-urls@npm:^3.0.2": version: 3.0.2 resolution: "data-urls@npm:3.0.2" dependencies: @@ -13636,16 +13494,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: 2.0.0 - checksum: 5bff34a352d7b2eaa31886eeaf2ee534b5461ec0548315b2f9f80bd1d2533cab7df1fa52e130ce27bc31c3945fbffb0fc72baacdceb274b95ce853db89254ea4 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -13657,7 +13506,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.0, debug@npm:^3.2.6, debug@npm:^3.2.7": +"debug@npm:^3.2.6, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -13683,7 +13532,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.3.1, decimal.js@npm:^10.4.2": +"decimal.js@npm:^10.4.2": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee @@ -13706,6 +13555,15 @@ __metadata: languageName: node linkType: hard +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + "dedent@npm:0.7.0, dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -13807,6 +13665,13 @@ __metadata: languageName: node linkType: hard +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -13925,12 +13790,12 @@ __metadata: linkType: hard "des.js@npm:^1.0.0": - version: 1.0.1 - resolution: "des.js@npm:1.0.1" + version: 1.1.0 + resolution: "des.js@npm:1.1.0" dependencies: inherits: ^2.0.1 minimalistic-assert: ^1.0.0 - checksum: 69bf742d1c381e01d75151bdcaac71a18d251d7debfc9b6ae5ee4b4edaf39691ae203c5ec9173ba89aedb3ddc622cdff4fca065448c6c2afb1140d9fb826339d + checksum: 671354943ad67493e49eb4c555480ab153edd7cee3a51c658082fcde539d2690ed2a4a0b5d1f401f9cde822edf3939a6afb2585f32c091f2d3a1b1665cd45236 languageName: node linkType: hard @@ -13991,13 +13856,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^26.6.2": - version: 26.6.2 - resolution: "diff-sequences@npm:26.6.2" - checksum: a576b78f542377ce2bb032aa91aaf12376c6f562f79b2570f5fe16b4c18acff78de144ae44f0d86bedfe9c29ef38aa027db963850213e07bbc1c1a3b2834e861 - languageName: node - linkType: hard - "diff-sequences@npm:^29.4.3": version: 29.4.3 resolution: "diff-sequences@npm:29.4.3" @@ -14287,9 +14145,9 @@ __metadata: linkType: hard "dotenv@npm:^16.0.0": - version: 16.0.3 - resolution: "dotenv@npm:16.0.3" - checksum: 109457ac5f9e930ca8066ea33887b6f839ab24d647a7a8b49ddcd1f32662e2c35591c5e5b9819063e430148a664d0927f0cbe60cf9575d89bc524f47ff7e78f0 + version: 16.1.4 + resolution: "dotenv@npm:16.1.4" + checksum: 47cf5ce136bf2a5e8402fc9855d95848973cfee423fe0adf1a7cd565c842c51e5b8c95889b075140c26b092b74dd2a319970ff496cd7159ab3f1fc58edfc0ede languageName: node linkType: hard @@ -14373,20 +14231,6 @@ __metadata: languageName: node linkType: hard -"ecstatic@npm:^3.3.2": - version: 3.3.2 - resolution: "ecstatic@npm:3.3.2" - dependencies: - he: ^1.1.1 - mime: ^1.6.0 - minimist: ^1.1.0 - url-join: ^2.0.5 - bin: - ecstatic: ./lib/ecstatic.js - checksum: e94ca9331c5035d7d553a5f15ed40c47ed62a723a49aec6011628952f7cc9a24005bf737a0256e0c65f8a305fb99889fefbe9e5bc4760bd2cbe611f516b849ef - languageName: node - linkType: hard - "editions@npm:^1.1.1": version: 1.3.4 resolution: "editions@npm:1.3.4" @@ -14412,10 +14256,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.284": - version: 1.4.411 - resolution: "electron-to-chromium@npm:1.4.411" - checksum: 71160b3965456d2411e5fbf2fda25fc8aab9140df07e5f589ecaa8a126390ca8159775a2cda3fbc08598fc7d0b7b7efc1080182c34d2a990f23792327fef86c4 +"electron-to-chromium@npm:^1.4.284, electron-to-chromium@npm:^1.4.411": + version: 1.4.425 + resolution: "electron-to-chromium@npm:1.4.425" + checksum: eea2c9518db315f5ce70df76f78507def2749d794e4000787f2ffba566d77f9fc64bc9ce4aae9800ae1241557e4fe949cba0c9ccedbfb861463b7e5033ee5962 languageName: node linkType: hard @@ -14632,7 +14476,7 @@ __metadata: languageName: node linkType: hard -"encoding@npm:^0.1.12, encoding@npm:^0.1.13": +"encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" dependencies: @@ -14671,7 +14515,7 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.6, enquirer@npm:~2.3.6": +"enquirer@npm:~2.3.6": version: 2.3.6 resolution: "enquirer@npm:2.3.6" dependencies: @@ -14990,22 +14834,6 @@ __metadata: languageName: node linkType: hard -"es6-promise@npm:^4.0.3": - version: 4.2.8 - resolution: "es6-promise@npm:4.2.8" - checksum: 2373d9c5e9a93bdd9f9ed32ff5cb6dd3dd785368d1c21e9bbbfd07d16345b3774ae260f2bd24c8f836a6903f432b4151e7816a7fa8891ccb4e1a55a028ec42c3 - languageName: node - linkType: hard - -"es6-promisify@npm:^5.0.0": - version: 5.0.0 - resolution: "es6-promisify@npm:5.0.0" - dependencies: - es6-promise: ^4.0.3 - checksum: 23284c6a733cbf7842ec98f41eac742c9f288a78753c4fe46652bae826446ced7615b9e8a5c5f121a08812b1cd478ea58630f3e1c3d70835bd5dcd69c7cd75c9 - languageName: node - linkType: hard - "esbuild-loader@npm:^3.0.0": version: 3.0.1 resolution: "esbuild-loader@npm:3.0.1" @@ -15506,14 +15334,14 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.41.0 - resolution: "eslint@npm:8.41.0" + version: 8.42.0 + resolution: "eslint@npm:8.42.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.41.0 - "@humanwhocodes/config-array": ^0.11.8 + "@eslint/js": 8.42.0 + "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 ajv: ^6.10.0 @@ -15550,7 +15378,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: d71832b235bebaa67c09019dee32bf8393c5e12155e91131c4606670eb9836fbff31e11364408258cb75e2bde8a4dfa0c042aa6145bb23cd800a42e63ca4a035 + checksum: 8ab5a3c1619008c946497a16b88a811b1f6c49a750a9bd0f81085dff4166418b9da4e46108b09d920877ab2f5981e3613332653b7f5e3917d8088bc4b8d40b5a languageName: node linkType: hard @@ -15755,23 +15583,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^4.1.0": - version: 4.1.0 - resolution: "execa@npm:4.1.0" - dependencies: - cross-spawn: ^7.0.0 - get-stream: ^5.0.0 - human-signals: ^1.1.1 - is-stream: ^2.0.0 - merge-stream: ^2.0.0 - npm-run-path: ^4.0.0 - onetime: ^5.1.0 - signal-exit: ^3.0.2 - strip-final-newline: ^2.0.0 - checksum: 02211601bb1c52710260edcc68fb84c3c030dc68bafc697c90ada3c52cc31375337de8c24826015b8382a58d63569ffd203b79c94fef217d65503e3e8d2c52ba - languageName: node - linkType: hard - "execa@npm:^5.0.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -15789,7 +15600,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^7.1.1": +"execa@npm:^7.0.0, execa@npm:^7.1.1": version: 7.1.1 resolution: "execa@npm:7.1.1" dependencies: @@ -15847,24 +15658,10 @@ __metadata: languageName: node linkType: hard -"expect-type@npm:^0.14.2": - version: 0.14.2 - resolution: "expect-type@npm:0.14.2" - checksum: 862d5cb25a07b1dc26032ceeab2975f047e641175db2d3bbb34cee73ed8c04ca5e93457cc59ddf5006ddd7a694eb0e0bf2537512caa41e533a2044ed9d13a775 - languageName: node - linkType: hard - -"expect@npm:^26.6.2": - version: 26.6.2 - resolution: "expect@npm:26.6.2" - dependencies: - "@jest/types": ^26.6.2 - ansi-styles: ^4.0.0 - jest-get-type: ^26.3.0 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-regex-util: ^26.0.0 - checksum: e84ab6c96e99eaf92586e5c554317413352082b66be952ba338bf690e15106c0b6350ac99d0d66237d675cc75963811255120d47172a8e764b1d6a9ae2b6b1b4 +"expect-type@npm:^0.15.0": + version: 0.15.0 + resolution: "expect-type@npm:0.15.0" + checksum: d5ffc86df1937290a6555e763f76a8c27d18d9bfa63e18788a79ff52bba3d2a9a518af1163d437854efca6bd8e03768a2c4b10ea29e861c9d6f57ff53f19c3c4 languageName: node linkType: hard @@ -16158,6 +15955,16 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: ^1.0.0 + web-streams-polyfill: ^3.0.3 + checksum: 60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + "fetch-retry@npm:^5.0.2": version: 5.0.6 resolution: "fetch-retry@npm:5.0.6" @@ -16431,7 +16238,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0, follow-redirects@npm:^1.15.0": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0": version: 1.15.2 resolution: "follow-redirects@npm:1.15.2" peerDependenciesMeta: @@ -16477,9 +16284,9 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^7.2.8": - version: 7.3.0 - resolution: "fork-ts-checker-webpack-plugin@npm:7.3.0" +"fork-ts-checker-webpack-plugin@npm:^8.0.0": + version: 8.0.0 + resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" dependencies: "@babel/code-frame": ^7.16.7 chalk: ^4.1.2 @@ -16495,23 +16302,8 @@ __metadata: tapable: ^2.2.1 peerDependencies: typescript: ">3.6.0" - vue-template-compiler: "*" webpack: ^5.11.0 - peerDependenciesMeta: - vue-template-compiler: - optional: true - checksum: 00a3dad0815178db485317d8909dc1171c0bb97e43dac004a74048b36ddc0260db188fcb5eebb01a54fb280a82acf55e5a5d09e1e55ffa80b77ad41e5c8ba539 - languageName: node - linkType: hard - -"form-data@npm:^2.5.0": - version: 2.5.1 - resolution: "form-data@npm:2.5.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.6 - mime-types: ^2.1.12 - checksum: 7e8fb913b84a7ac04074781a18d0f94735bbe82815ff35348803331f6480956ff0035db5bcf15826edee09fe01e665cfac664678f1526646a6374ee13f960e56 + checksum: 1a2bb9bbd3e943e3b3a45d7fa9e8383698f5fea1ba28f7d18c8372c804460c2f13af53f791360b973fddafd3e88de7af59082c3cb3375f4e7c3365cd85accedc languageName: node linkType: hard @@ -16544,9 +16336,18 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: ^3.1.2 + checksum: 5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + "formik@npm:^2.2.9": - version: 2.4.0 - resolution: "formik@npm:2.4.0" + version: 2.4.1 + resolution: "formik@npm:2.4.1" dependencies: deepmerge: ^2.1.1 hoist-non-react-statics: ^3.3.0 @@ -16557,7 +16358,7 @@ __metadata: tslib: ^1.10.0 peerDependencies: react: ">=16.8.0" - checksum: 89cf2c9ad1672f12a88f40968f582f1ce4009347f7ae569300e449fef23be82014db3a850e1d304cee7f99235a5e98a05989455417e4fa7e91c9f9bebf54e847 + checksum: 9a870145cc00ad9640f46251db56bdb1356e759e6794e8c2350e67ce90aa1beb7cda7890fa914d44468f984351fe34660a909e46556a76b06ef63be80e317433 languageName: node linkType: hard @@ -16703,10 +16504,10 @@ __metadata: languageName: node linkType: hard -"fs-monkey@npm:^1.0.3": - version: 1.0.3 - resolution: "fs-monkey@npm:1.0.3" - checksum: 197fd276d224d54a27c6267c69887ec29ccd4bedd83d72b5050abf3b6c6ef83d7b86a85a87f615c24a4e6f9a4888fd151c9f16a37ffb23e37c4c2d14c1da6275 +"fs-monkey@npm:^1.0.4": + version: 1.0.4 + resolution: "fs-monkey@npm:1.0.4" + checksum: eeb2457ec50f7202c44273de2a42b50868c8e6b2ab4825d517947143d4e727c028e24f6d0f46e6f3e7a149a1c9e7d8b3ca28243c3b10366d280a08016483e829 languageName: node linkType: hard @@ -16921,13 +16722,6 @@ __metadata: languageName: node linkType: hard -"get-own-enumerable-property-symbols@npm:^3.0.0": - version: 3.0.2 - resolution: "get-own-enumerable-property-symbols@npm:3.0.2" - checksum: 103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -17013,9 +16807,11 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.4.0, get-tsconfig@npm:^4.5.0": - version: 4.5.0 - resolution: "get-tsconfig@npm:4.5.0" - checksum: 0ff157b0f6cd9f92e4112b24522aa74c23b3207cb8ae7f491c2cac99fd65b811e955f61aace805121478b23619da2dbfc4cac3135f584e80038be86d16c5121a + version: 4.6.0 + resolution: "get-tsconfig@npm:4.6.0" + dependencies: + resolve-pkg-maps: ^1.0.0 + checksum: 6480197512fc97e4bc049fc23943d78ef5f034e6a3c7c7dbc1d16d8a2091aa08b72122ebf29c2dc815842266f966cf0c12000dc9151e632296feb9e1a285b854 languageName: node linkType: hard @@ -17145,21 +16941,6 @@ __metadata: languageName: node linkType: hard -"gitlab@npm:^10.0.1": - version: 10.2.1 - resolution: "gitlab@npm:10.2.1" - dependencies: - form-data: ^2.5.0 - humps: ^2.0.1 - ky: ^0.12.0 - ky-universal: ^0.3.0 - li: ^1.3.0 - query-string: ^6.8.2 - universal-url: ^2.0.0 - checksum: 0d5ca8206b0505eef6c5a1c3d1694910bacac89519c889491beec3efcf799ae5263dc8bb5953ef4ee272d557811e0f45a781d5b6ee27be3280b73d80093e0c65 - languageName: node - linkType: hard - "glob-parent@npm:5.1.2, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -17224,8 +17005,8 @@ __metadata: linkType: hard "glob@npm:^10.0.0, glob@npm:^10.2.2": - version: 10.2.6 - resolution: "glob@npm:10.2.6" + version: 10.2.7 + resolution: "glob@npm:10.2.7" dependencies: foreground-child: ^3.1.0 jackspeak: ^2.0.3 @@ -17234,7 +17015,7 @@ __metadata: path-scurry: ^1.7.0 bin: glob: dist/cjs/src/bin.js - checksum: 5c80777fd10ee780095ae428fe2c2e57ec81bddae2e3be0174e515360de77075c28061c47f3aab06c226f50ef13371dbb2b5ff02241abc511bed1f2d60f74edf + checksum: 15b742f933c4302cca278527a720c1300ba67b92975005e54e0fb85fee85aff1c45e71fbac386a2e190e64b7b17897b5ae1bc6cbd2cdd96a62c0dc55c8fb076f languageName: node linkType: hard @@ -17251,7 +17032,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": +"glob@npm:^7.0.3, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -17403,6 +17184,25 @@ __metadata: languageName: node linkType: hard +"got@npm:^11.1.4": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": ^4.0.0 + "@szmarczak/http-timer": ^4.0.5 + "@types/cacheable-request": ^6.0.1 + "@types/responselike": ^1.0.0 + cacheable-lookup: ^5.0.3 + cacheable-request: ^7.0.2 + decompress-response: ^6.0.0 + http2-wrapper: ^1.0.0-beta.5.2 + lowercase-keys: ^2.0.0 + p-cancelable: ^2.0.0 + responselike: ^2.0.0 + checksum: 754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 + languageName: node + linkType: hard + "graceful-fs@npm:4.2.10": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" @@ -17431,13 +17231,6 @@ __metadata: languageName: node linkType: hard -"graphql@npm:^15.4.0": - version: 15.8.0 - resolution: "graphql@npm:15.8.0" - checksum: 30cc09b77170a9d1ed68e4c017ec8c5265f69501c96e4f34f8f6613f39a886c96dd9853eac925f212566ed651736334c8fe24ceae6c44e8d7625c95c3009a801 - languageName: node - linkType: hard - "grizzly@npm:^4.0.0": version: 4.0.3 resolution: "grizzly@npm:4.0.3" @@ -17697,13 +17490,6 @@ __metadata: languageName: node linkType: hard -"hasurl@npm:^1.0.0": - version: 1.0.0 - resolution: "hasurl@npm:1.0.0" - checksum: 7762739a9713612d7c81f8c59807c59e696ea4402861ff799fd9d507860d4e37ad7eac4e1741a713ae96a74306a98ee5a03245695352ede885cc4287a44c632b - languageName: node - linkType: hard - "hdr-histogram-js@npm:^2.0.1": version: 2.0.3 resolution: "hdr-histogram-js@npm:2.0.3" @@ -17722,7 +17508,7 @@ __metadata: languageName: node linkType: hard -"he@npm:^1.1.1, he@npm:^1.2.0": +"he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" bin: @@ -17870,9 +17656,9 @@ __metadata: linkType: hard "html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": - version: 2.3.3 - resolution: "html-entities@npm:2.3.3" - checksum: a76cbdbb276d9499dc7ef800d23f3964254e659f04db51c8d1ff6abfe21992c69b7217ecfd6e3c16ff0aa027ba4261d77f0dba71f55639c16a325bbdf69c535d + version: 2.3.5 + resolution: "html-entities@npm:2.3.5" + checksum: ef3cc70691bf4b4422f4ba37e84aaa9084f45791d62459c9b485a3b4e9e29ceda35a6b2cd6dcee64f17101fa2ab0f03db57acf3184993a90626d09e615301cab languageName: node linkType: hard @@ -17996,7 +17782,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc @@ -18042,27 +17828,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^2.1.0": - version: 2.1.0 - resolution: "http-proxy-agent@npm:2.1.0" - dependencies: - agent-base: 4 - debug: 3.1.0 - checksum: 526294de33953bacb21b883d8bbc01a82e1e9f5a721785345dd538b15b62c7a5d4080b729eb3177ad15d842f931f44002431d5cf9b036cc8cea4bfb5ec172228 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: 4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -18092,7 +17857,7 @@ __metadata: languageName: node linkType: hard -"http-proxy@npm:^1.18.0, http-proxy@npm:^1.18.1": +"http-proxy@npm:^1.18.1": version: 1.18.1 resolution: "http-proxy@npm:1.18.1" dependencies: @@ -18103,24 +17868,36 @@ __metadata: languageName: node linkType: hard -"http-server@npm:^0.12.3": - version: 0.12.3 - resolution: "http-server@npm:0.12.3" +"http-server@npm:^14.1.1": + version: 14.1.1 + resolution: "http-server@npm:14.1.1" dependencies: - basic-auth: ^1.0.3 - colors: ^1.4.0 + basic-auth: ^2.0.1 + chalk: ^4.1.2 corser: ^2.0.1 - ecstatic: ^3.3.2 - http-proxy: ^1.18.0 - minimist: ^1.2.5 + he: ^1.2.0 + html-encoding-sniffer: ^3.0.0 + http-proxy: ^1.18.1 + mime: ^1.6.0 + minimist: ^1.2.6 opener: ^1.5.1 - portfinder: ^1.0.25 + portfinder: ^1.0.28 secure-compare: 3.0.1 union: ~0.5.0 + url-join: ^4.0.1 bin: - hs: bin/http-server http-server: bin/http-server - checksum: fa779a959119d9870fc738eaa689a8b9ea447bbac97ad656a29e4cd84f9c89e9257ef66a7e597d919dff81def2e796e575d8e128193dfd2780cdaf447f1a01ca + checksum: c5770ddd722dd520ce0af25efee6bfb7c6300ff4e934636d4eec83fa995739e64de2e699e89e7a795b3a1894bcc37bec226617c1023600aacd7871fd8d6ffe6d + languageName: node + linkType: hard + +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: ^5.1.1 + resolve-alpn: ^1.0.0 + checksum: 6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 languageName: node linkType: hard @@ -18141,16 +17918,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^2.2.1": - version: 2.2.4 - resolution: "https-proxy-agent@npm:2.2.4" - dependencies: - agent-base: ^4.3.0 - debug: ^3.1.0 - checksum: 4bdde8fcd9ea0adc4a77282de2b4f9e27955e0441425af0f27f0fe01006946b80eaee6749e08e838d350c06ed2ebd5d11347d3beb88c45eacb0667e27276cdad - languageName: node - linkType: hard - "https-proxy-agent@npm:^4.0.0": version: 4.0.0 resolution: "https-proxy-agent@npm:4.0.0" @@ -18161,13 +17928,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^1.1.1": - version: 1.1.1 - resolution: "human-signals@npm:1.1.1" - checksum: 18810ed239a7a5e23fb6c32d0fd4be75d7cd337a07ad59b8dbf0794cb0761e6e628349ee04c409e605fe55344716eab5d0a47a62ba2a2d0d367c89a2b4247b1e - languageName: node - linkType: hard - "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -18191,13 +17951,6 @@ __metadata: languageName: node linkType: hard -"humps@npm:^2.0.1": - version: 2.0.1 - resolution: "humps@npm:2.0.1" - checksum: 554f3bb9de780ce833f0058f30536f87615bd75ead2008b98d900598379fe5dcd3300bdd9092d3e078d47b66fade82276974dda7151318b5de7a1d837c3abe6e - languageName: node - linkType: hard - "husky@npm:^4.3.7": version: 4.3.8 resolution: "husky@npm:4.3.8" @@ -18495,13 +18248,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - "invariant@npm:^2.2.4": version: 2.2.4 resolution: "invariant@npm:2.2.4" @@ -18526,9 +18272,9 @@ __metadata: linkType: hard "ipaddr.js@npm:^2.0.1": - version: 2.0.1 - resolution: "ipaddr.js@npm:2.0.1" - checksum: 0034dfd7a83e82bec6a569549f42c56eb47d051842e10ff0400d97b18f517131834d7c054893a31900cf9d54cf4d974eed97923e5e5965c298d004849f5f0ac9 + version: 2.1.0 + resolution: "ipaddr.js@npm:2.1.0" + checksum: 9aa43ff99771e3d14ab3683df3909b3b033fe81337646bc63780b00ec9bc51d4a696a047c0b261c05867c0a25086ab03f0ce32ea444a6b39e10fac1315d53cab languageName: node linkType: hard @@ -18668,7 +18414,7 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:2.0.0, is-ci@npm:^2.0.0": +"is-ci@npm:2.0.0": version: 2.0.0 resolution: "is-ci@npm:2.0.0" dependencies: @@ -18830,6 +18576,13 @@ __metadata: languageName: node linkType: hard +"is-fullwidth-code-point@npm:^4.0.0": + version: 4.0.0 + resolution: "is-fullwidth-code-point@npm:4.0.0" + checksum: df2a717e813567db0f659c306d61f2f804d480752526886954a2a3e2246c7745fd07a52b5fecf2b68caf0a6c79dcdace6166fdf29cc76ed9975cc334f0a018b8 + languageName: node + linkType: hard + "is-generator-fn@npm:^2.0.0": version: 2.1.0 resolution: "is-generator-fn@npm:2.1.0" @@ -18950,13 +18703,6 @@ __metadata: languageName: node linkType: hard -"is-obj@npm:^1.0.1": - version: 1.0.1 - resolution: "is-obj@npm:1.0.1" - checksum: 5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 - languageName: node - linkType: hard - "is-obj@npm:^2.0.0": version: 2.0.0 resolution: "is-obj@npm:2.0.0" @@ -19046,13 +18792,6 @@ __metadata: languageName: node linkType: hard -"is-regexp@npm:^1.0.0": - version: 1.0.0 - resolution: "is-regexp@npm:1.0.0" - checksum: 34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 - languageName: node - linkType: hard - "is-set@npm:^2.0.1, is-set@npm:^2.0.2": version: 2.0.2 resolution: "is-set@npm:2.0.2" @@ -19200,7 +18939,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -19260,16 +18999,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-unfetch@npm:^3.1.0": - version: 3.1.0 - resolution: "isomorphic-unfetch@npm:3.1.0" - dependencies: - node-fetch: ^2.6.1 - unfetch: ^4.2.0 - checksum: d3b61fca06304db692b7f76bdfd3a00f410e42cfa7403c3b250546bf71589d18cf2f355922f57198e4cc4a9872d3647b20397a5c3edf1a347c90d57c83cf2a89 - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" @@ -19470,18 +19199,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-diff@npm:26.6.2" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^26.6.2 - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 3a9c88c8f308487059788ab1199e12f9b4657168964a2307573760b4d41ab5b851e5bef70125ef5ceddc1e201d6753d6ceae88994c197990dd9307cb7d94b9a1 - languageName: node - linkType: hard - "jest-diff@npm:^29.5.0": version: 29.5.0 resolution: "jest-diff@npm:29.5.0" @@ -19516,22 +19233,6 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^28.0.0": - version: 28.1.3 - resolution: "jest-environment-jsdom@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/jsdom": ^16.2.4 - "@types/node": "*" - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - jsdom: ^19.0.0 - checksum: f3239dc01f33ae613eff6f3bad61b5c7709385085a85904e44d6457c38aa5e4500792da475bfd7918b1aaff7a6c1febbb5b6e9974f7e08bcc273b7f5242ac95d - languageName: node - linkType: hard - "jest-environment-jsdom@npm:^29.0.0, jest-environment-jsdom@npm:^29.5.0": version: 29.5.0 resolution: "jest-environment-jsdom@npm:29.5.0" @@ -19567,13 +19268,6 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^26.3.0": - version: 26.3.0 - resolution: "jest-get-type@npm:26.3.0" - checksum: 112fc7f962d1c4625a51b6ccfe6e9c8e54ab80816bf8dbf2b1bf25d12c0f75c74ebad0c2f37622aea81019a2087451bfb12a46619ed6717e64ee875ea2de5520 - languageName: node - linkType: hard - "jest-get-type@npm:^29.4.3": version: 29.4.3 resolution: "jest-get-type@npm:29.4.3" @@ -19623,15 +19317,15 @@ __metadata: languageName: node linkType: hard -"jest-junit@npm:^14.0.1": - version: 14.0.1 - resolution: "jest-junit@npm:14.0.1" +"jest-junit@npm:^16.0.0": + version: 16.0.0 + resolution: "jest-junit@npm:16.0.0" dependencies: mkdirp: ^1.0.4 strip-ansi: ^6.0.1 uuid: ^8.3.2 xml: ^1.0.1 - checksum: ec06ffad0326f037e62637b0c9935f2668c4657bebf4b81ab3b14867482b754f479c93cd13fe8915b763a7196a3dbc3edf323f062026763e4a79891b617e5945 + checksum: d813d4d142341c2b51b634db7ad6ceb9849514cb58f96ec5e7e4cf4031a557133490452710c2d9dec9b1dd546334d9ca663e042d3070c3e8f102ce6217bd8e2e languageName: node linkType: hard @@ -19645,18 +19339,6 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-matcher-utils@npm:26.6.2" - dependencies: - chalk: ^4.0.0 - jest-diff: ^26.6.2 - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 1303fc4dfd80848483b64bafc99beb31678653ad3f34b4c23e982a16016aec1f8a7de4a583044d9c43e59ee7e68e07c57f3a8b51e40fbefe42eafad45cc725ed - languageName: node - linkType: hard - "jest-matcher-utils@npm:^29.5.0": version: 29.5.0 resolution: "jest-matcher-utils@npm:29.5.0" @@ -19669,68 +19351,24 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-message-util@npm:26.6.2" +"jest-message-util@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-message-util@npm:29.5.0" dependencies: - "@babel/code-frame": ^7.0.0 - "@jest/types": ^26.6.2 + "@babel/code-frame": ^7.12.13 + "@jest/types": ^29.5.0 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 - graceful-fs: ^4.2.4 - micromatch: ^4.0.2 - pretty-format: ^26.6.2 - slash: ^3.0.0 - stack-utils: ^2.0.2 - checksum: f6138d67154137cf3e985b2b469d0c78846cce787fed16b107c177fc9c6eb2606b7bce8e88d2a6bc830262d77469ecf26c70925cefc98dee83b5e8ed08981ff5 - languageName: node - linkType: hard - -"jest-message-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-message-util@npm:28.1.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^28.1.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^28.1.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 9f56a11b4171e43e2375446e624eec86f82820d9a35de3cd8b065b5ce2d7f65d2bbbdfc0ffe5fa358ff866693a68ec4f6b0cb8ad953fd6f35f9895eb370c6ed7 - languageName: node - linkType: hard - -"jest-message-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-message-util@npm:29.5.0" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.5.0 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^29.5.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^29.5.0 slash: ^3.0.0 stack-utils: ^2.0.3 checksum: 706e89cacc89c090af584f4687c4e7f0616706481e468ec7c88270e07ae7458a829e477b7b3dff56b75d801f799d65eb2c28d6453c25dd02bea0fd98f0809dbb languageName: node linkType: hard -"jest-mock@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-mock@npm:26.6.2" - dependencies: - "@jest/types": ^26.6.2 - "@types/node": "*" - checksum: cf77b49efe76cdedc63363ccdbae8bc68e0301fbded669e7b45647b7b7c1dce90985cf6a3a13da161f644523d7d0aad03184c6f39302ee4b52f954a1de37960f - languageName: node - linkType: hard - -"jest-mock@npm:^27.0.6, jest-mock@npm:^27.3.0": +"jest-mock@npm:^27.3.0": version: 27.5.1 resolution: "jest-mock@npm:27.5.1" dependencies: @@ -19740,16 +19378,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-mock@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - checksum: 1d936755925863bd896bfc9c0ed733faf9ff13ab51cdcb4c53bd07e6857e464bb5c0723f9d157837c47dbf880a3a4b9cff2805051207a37caec04d65e6c509fb - languageName: node - linkType: hard - "jest-mock@npm:^29.5.0": version: 29.5.0 resolution: "jest-mock@npm:29.5.0" @@ -19780,30 +19408,6 @@ __metadata: languageName: node linkType: hard -"jest-preset-angular@npm:^12.2.3": - version: 12.2.6 - resolution: "jest-preset-angular@npm:12.2.6" - dependencies: - bs-logger: ^0.2.6 - esbuild: ">=0.13.8" - esbuild-wasm: ">=0.13.8" - jest-environment-jsdom: ^28.0.0 - pretty-format: ^28.0.0 - ts-jest: ^28.0.0 - peerDependencies: - "@angular-devkit/build-angular": ">=12.2.18 <16.0.0" - "@angular/compiler-cli": ">=12.2.16 <16.0.0" - "@angular/core": ">=12.2.16 <16.0.0" - "@angular/platform-browser-dynamic": ">=12.2.16 <16.0.0" - jest: ^28.0.0 - typescript: ">=4.2" - dependenciesMeta: - esbuild: - optional: true - checksum: ec3be71042921125434e89d5be5500ab54948cad20965cd0e0e26a696d967b9c95034cbaf709a03e8552fe8933e482ec9e895eedb7ab0cbd42ba90fec80bfc11 - languageName: node - linkType: hard - "jest-preset-angular@npm:^13.0.1": version: 13.1.1 resolution: "jest-preset-angular@npm:13.1.1" @@ -19829,13 +19433,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^26.0.0": - version: 26.0.0 - resolution: "jest-regex-util@npm:26.0.0" - checksum: 988675764a08945b90f48e6f5a8640b0d9885a977f100a168061d10037d53808a6cdb7dc8cb6fe9b1332f0523b42bf3edbb6d2cc6c7f7ba582d05d432efb3e60 - languageName: node - linkType: hard - "jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.4.3": version: 29.4.3 resolution: "jest-regex-util@npm:29.4.3" @@ -19969,17 +19566,6 @@ __metadata: languageName: node linkType: hard -"jest-specific-snapshot@npm:^7.0.0": - version: 7.0.0 - resolution: "jest-specific-snapshot@npm:7.0.0" - dependencies: - jest-snapshot: ^29.0.0 - peerDependencies: - jest: ">= 29.0.0" - checksum: a5ff13f7088ecf2644fc44e70681da1d5669db64bb34aa922576462f617c184b4f528fb58b227e3634520d776a42f992df3a5a291f00073944d7e260209479f9 - languageName: node - linkType: hard - "jest-specific-snapshot@npm:^8.0.0": version: 8.0.0 resolution: "jest-specific-snapshot@npm:8.0.0" @@ -19991,34 +19577,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-util@npm:26.6.2" - dependencies: - "@jest/types": ^26.6.2 - "@types/node": "*" - chalk: ^4.0.0 - graceful-fs: ^4.2.4 - is-ci: ^2.0.0 - micromatch: ^4.0.2 - checksum: ab93709840f87bdf478d082f5465467c27a20a422cbe456cc2a56961d8c950ea52511995fb6063f62a113737f3dd714b836a1fbde51abef96642a5975e835a01 - languageName: node - linkType: hard - -"jest-util@npm:^28.0.0, jest-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-util@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: 7d4946424032a2ccb2ad669905debb44b0bf040dff7a1fe82d283c679ae4638a86ca48d6a276d65a76451252338ad84e76ef2cfde03f577f091fe2b3102aedc9 - languageName: node - linkType: hard - "jest-util@npm:^29.0.0, jest-util@npm:^29.5.0": version: 29.5.0 resolution: "jest-util@npm:29.5.0" @@ -20153,7 +19711,7 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.3.0": +"joi@npm:^17.7.0": version: 17.9.2 resolution: "joi@npm:17.9.2" dependencies: @@ -20198,7 +19756,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1, js-yaml@npm:^3.6.1": +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -20272,46 +19830,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^19.0.0": - version: 19.0.0 - resolution: "jsdom@npm:19.0.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.5.0 - acorn-globals: ^6.0.0 - cssom: ^0.5.0 - cssstyle: ^2.3.0 - data-urls: ^3.0.1 - decimal.js: ^10.3.1 - domexception: ^4.0.0 - escodegen: ^2.0.0 - form-data: ^4.0.0 - html-encoding-sniffer: ^3.0.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^3.0.0 - webidl-conversions: ^7.0.0 - whatwg-encoding: ^2.0.0 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^10.0.0 - ws: ^8.2.3 - xml-name-validator: ^4.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: c39c71aa64df60f2b609adfc61fa4406c1a710da3278c730b0093181d1d09c1e6ba5551e32d78259a21800e10c2984c571777d6f7080249a5d21287be4f17bd9 - languageName: node - linkType: hard - "jsdom@npm:^20.0.0": version: 20.0.3 resolution: "jsdom@npm:20.0.3" @@ -20387,6 +19905,13 @@ __metadata: languageName: node linkType: hard +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + "json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -20472,7 +19997,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.0.0, json5@npm:^2.1.0, json5@npm:^2.1.2, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.0.0, json5@npm:^2.1.0, json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -20543,21 +20068,15 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:^8.4.0": - version: 8.5.1 - resolution: "jsonwebtoken@npm:8.5.1" +"jsonwebtoken@npm:^9.0.0": + version: 9.0.0 + resolution: "jsonwebtoken@npm:9.0.0" dependencies: jws: ^3.2.2 - lodash.includes: ^4.3.0 - lodash.isboolean: ^3.0.3 - lodash.isinteger: ^4.0.4 - lodash.isnumber: ^3.0.3 - lodash.isplainobject: ^4.0.6 - lodash.isstring: ^4.0.1 - lodash.once: ^4.0.0 + lodash: ^4.17.21 ms: ^2.1.1 - semver: ^5.6.0 - checksum: c5ad937b6fa23a230efa8ed8ca3c0da8ebfdd377bafc3e8432a11b03ef90e733400a00b26c0dfee47db44a2e64b88b154b57e9926a92990f98dd25aaed15006e + semver: ^7.3.8 + checksum: 60c30d90d8a69b8e7148306e0c299ac120dbde9c032add48d26df928fe349e952cf4b09f12d7942257681a936e3374e4d49280ab20f8a4578688c7f08d87f9bc languageName: node linkType: hard @@ -20646,6 +20165,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.0.0": + version: 4.5.2 + resolution: "keyv@npm:4.5.2" + dependencies: + json-buffer: 3.0.1 + checksum: b633bf53a5afa5591f383d326746226e110e59f13c7e1e8d3e3c9580d2c2345c5eefc21cce168cd5be7fa34b9163e391927146fbd2b7ee7aa2f3aa02b7f0a7de + languageName: node + linkType: hard + "kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": version: 3.2.2 resolution: "kind-of@npm:3.2.2" @@ -20706,25 +20234,6 @@ __metadata: languageName: node linkType: hard -"ky-universal@npm:^0.3.0": - version: 0.3.0 - resolution: "ky-universal@npm:0.3.0" - dependencies: - abort-controller: ^3.0.0 - node-fetch: ^2.6.0 - peerDependencies: - ky: ">=0.12.0" - checksum: 8f2d5dba50f113bd4c67547cb8f6fb7ed94e3a62152a4778539452bd7064636c3467c9b3126c05e68ac53a2ca02ab740f0c260f05221f9610587eb8e03e469fa - languageName: node - linkType: hard - -"ky@npm:^0.12.0": - version: 0.12.0 - resolution: "ky@npm:0.12.0" - checksum: cdca90751ddf69521fd6bcb55acc236d61d4164850a55d7d4e1c167288af2c9ac0f7c9c8e70b409d583704e905ed9af10da4d5cd41b7d717484b5ade7801e24f - languageName: node - linkType: hard - "language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" @@ -20982,6 +20491,13 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:2.1.0": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -20996,41 +20512,39 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^10.5.4": - version: 10.5.4 - resolution: "lint-staged@npm:10.5.4" +"lint-staged@npm:^13.2.2": + version: 13.2.2 + resolution: "lint-staged@npm:13.2.2" dependencies: - chalk: ^4.1.0 - cli-truncate: ^2.1.0 - commander: ^6.2.0 - cosmiconfig: ^7.0.0 - debug: ^4.2.0 - dedent: ^0.7.0 - enquirer: ^2.3.6 - execa: ^4.1.0 - listr2: ^3.2.2 - log-symbols: ^4.0.0 - micromatch: ^4.0.2 + chalk: 5.2.0 + cli-truncate: ^3.1.0 + commander: ^10.0.0 + debug: ^4.3.4 + execa: ^7.0.0 + lilconfig: 2.1.0 + listr2: ^5.0.7 + micromatch: ^4.0.5 normalize-path: ^3.0.0 - please-upgrade-node: ^3.2.0 - string-argv: 0.3.1 - stringify-object: ^3.3.0 + object-inspect: ^1.12.3 + pidtree: ^0.6.0 + string-argv: ^0.3.1 + yaml: ^2.2.2 bin: lint-staged: bin/lint-staged.js - checksum: 5a3b8854e3a1d90533a8e5f2d228634a044563104b9a1f2052e91a565542ee72ab60ffd463c9b2117a1c660adc5ad0737831a4dc61c91952f3032ce2b98fa670 + checksum: a3f43ad7a88b57cbdd5e15a6b484955092ecf8bfbb38b009ec47d52ef8d16961785ce85fd6fb49a2d57ec7feb54d6724f1b0b2732f425d0e39b17206a88f7f96 languageName: node linkType: hard -"listr2@npm:^3.2.2": - version: 3.14.0 - resolution: "listr2@npm:3.14.0" +"listr2@npm:^5.0.7": + version: 5.0.8 + resolution: "listr2@npm:5.0.8" dependencies: cli-truncate: ^2.1.0 - colorette: ^2.0.16 + colorette: ^2.0.19 log-update: ^4.0.0 p-map: ^4.0.0 rfdc: ^1.3.0 - rxjs: ^7.5.1 + rxjs: ^7.8.0 through: ^2.3.8 wrap-ansi: ^7.0.0 peerDependencies: @@ -21038,7 +20552,7 @@ __metadata: peerDependenciesMeta: enquirer: optional: true - checksum: 8301703876ad6bf50cd769e9c1169c2aa435951d69d4f54fc202a13c1b6006a9b3afbcf9842440eb22f08beec4d311d365e31d4ed2e0fcabf198d8085b06a421 + checksum: 00f00ad18262909bafff21b42d2d94faa9ed3911d70094a12a1182e773533f9b3cfd78d83a81fdbfb7dbc42e3e3252093f504c822de152100a953a91f3adf7cb languageName: node linkType: hard @@ -21237,13 +20751,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - "lodash.includes@npm:^4.3.0": version: 4.3.0 resolution: "lodash.includes@npm:4.3.0" @@ -21251,13 +20758,6 @@ __metadata: languageName: node linkType: hard -"lodash.isboolean@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isboolean@npm:3.0.3" - checksum: 0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 - languageName: node - linkType: hard - "lodash.isequal@npm:^4.5.0": version: 4.5.0 resolution: "lodash.isequal@npm:4.5.0" @@ -21265,13 +20765,6 @@ __metadata: languageName: node linkType: hard -"lodash.isinteger@npm:^4.0.4": - version: 4.0.4 - resolution: "lodash.isinteger@npm:4.0.4" - checksum: 4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 - languageName: node - linkType: hard - "lodash.ismatch@npm:^4.4.0": version: 4.4.0 resolution: "lodash.ismatch@npm:4.4.0" @@ -21279,13 +20772,6 @@ __metadata: languageName: node linkType: hard -"lodash.isnumber@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isnumber@npm:3.0.3" - checksum: 2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d - languageName: node - linkType: hard - "lodash.isobject@npm:^3.0.2": version: 3.0.2 resolution: "lodash.isobject@npm:3.0.2" @@ -21293,20 +20779,6 @@ __metadata: languageName: node linkType: hard -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - "lodash.keys@npm:^4.0.8": version: 4.2.0 resolution: "lodash.keys@npm:4.2.0" @@ -21342,27 +20814,6 @@ __metadata: languageName: node linkType: hard -"lodash.once@npm:^4.0.0": - version: 4.1.1 - resolution: "lodash.once@npm:4.1.1" - checksum: 46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 - languageName: node - linkType: hard - -"lodash.set@npm:^4.3.2": - version: 4.3.2 - resolution: "lodash.set@npm:4.3.2" - checksum: c641d31905e51df43170dce8a1d11a1cff11356e2e2e75fe2615995408e9687d58c3e1d64c3c284c2df2bc519f79a98af737d2944d382ff82ffd244ff6075c29 - languageName: node - linkType: hard - -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 - languageName: node - linkType: hard - "lodash.template@npm:^4.5.0": version: 4.5.0 resolution: "lodash.template@npm:4.5.0" @@ -21382,7 +20833,7 @@ __metadata: languageName: node linkType: hard -"lodash.uniq@npm:^4.2.0, lodash.uniq@npm:^4.5.0": +"lodash.uniq@npm:^4.2.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" checksum: 262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e @@ -21396,7 +20847,7 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": +"log-symbols@npm:^4.1.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" dependencies: @@ -21452,6 +20903,13 @@ __metadata: languageName: node linkType: hard +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 + languageName: node + linkType: hard + "lowlight@npm:^1.17.0": version: 1.20.0 resolution: "lowlight@npm:1.20.0" @@ -21505,9 +20963,9 @@ __metadata: linkType: hard "lru-cache@npm:^9.1.1": - version: 9.1.1 - resolution: "lru-cache@npm:9.1.1" - checksum: a70630bccc94e6d6bf5523de8103302407a3b0090f4e245d126569ba96f85b4fa10ad537fb5d9435c58ba3762c0880361f8f5a92d7c9d10b59c8fcc8a0c615e5 + version: 9.1.2 + resolution: "lru-cache@npm:9.1.2" + checksum: 886811ab451332c899c230274e7e51507c15e5b3b18f0b39fb55f558978d58799a0b1a50e04d60a448d8c970ff4e6ee718bb119083ca88abb78930284f1e0900 languageName: node linkType: hard @@ -21636,30 +21094,6 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^9.1.0": - version: 9.1.0 - resolution: "make-fetch-happen@npm:9.1.0" - dependencies: - agentkeepalive: ^4.1.3 - cacache: ^15.2.0 - http-cache-semantics: ^4.1.0 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-lambda: ^1.0.1 - lru-cache: ^6.0.0 - minipass: ^3.1.3 - minipass-collect: ^1.0.2 - minipass-fetch: ^1.3.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - negotiator: ^0.6.2 - promise-retry: ^2.0.1 - socks-proxy-agent: ^6.0.0 - ssri: ^8.0.0 - checksum: 2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 - languageName: node - linkType: hard - "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -21728,11 +21162,11 @@ __metadata: linkType: hard "markdown-to-jsx@npm:^7.1.8": - version: 7.2.0 - resolution: "markdown-to-jsx@npm:7.2.0" + version: 7.2.1 + resolution: "markdown-to-jsx@npm:7.2.1" peerDependencies: react: ">= 0.14.0" - checksum: 43056a49a222efddb0d5a055bc0ad61e038ac299d1008db4c4bebb270b4efc9872dc51dad2f6078d58bf178f8f15df6677f6e67295095284d8b61cfb8e9876f3 + checksum: 002ba7c723853c456a4902976d5f5a15d9585bd75dc6ab3add783b4a346e3372327c4fffd7843f30fd5b6550c5fd97e7142330521a5886f8b770db4c61558d61 languageName: node linkType: hard @@ -21808,8 +21242,8 @@ __metadata: linkType: hard "mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0": - version: 1.3.0 - resolution: "mdast-util-from-markdown@npm:1.3.0" + version: 1.3.1 + resolution: "mdast-util-from-markdown@npm:1.3.1" dependencies: "@types/mdast": ^3.0.0 "@types/unist": ^2.0.0 @@ -21823,7 +21257,7 @@ __metadata: micromark-util-types: ^1.0.0 unist-util-stringify-position: ^3.0.0 uvu: ^0.5.0 - checksum: 0581d641a1367aa1c53ea2754e1877331633acfa7f10f4b6ade1b0615c8cf6b3083e02c0e60d0809c7eb4f4d5ac498c9b7340b013ec3a366020caa2c78458759 + checksum: f4e901bf2a2e93fe35a339e0cff581efacce2f7117cd5652e9a270847bd7e2508b3e717b7b4156af54d4f896d63033e06ff9fafbf59a1d46fe17dd5e2a3f7846 languageName: node linkType: hard @@ -22040,7 +21474,7 @@ __metadata: languageName: node linkType: hard -"memfs-or-file-map-to-github-branch@npm:^1.1.0": +"memfs-or-file-map-to-github-branch@npm:^1.2.1": version: 1.2.1 resolution: "memfs-or-file-map-to-github-branch@npm:1.2.1" dependencies: @@ -22050,11 +21484,11 @@ __metadata: linkType: hard "memfs@npm:^3.4.1, memfs@npm:^3.4.12, memfs@npm:^3.4.3": - version: 3.5.1 - resolution: "memfs@npm:3.5.1" + version: 3.5.3 + resolution: "memfs@npm:3.5.3" dependencies: - fs-monkey: ^1.0.3 - checksum: c0365330bd861b900284c5b50056dddc841ab64196cc8eb164214104031559130ab129c20de67c91314bc7b2b4f20d521d43b0e389080ac2bf6bf77813601b2c + fs-monkey: ^1.0.4 + checksum: 038fc81bce17ea92dde15aaa68fa0fdaf4960c721ce3ffc7c2cb87a259333f5159784ea48b3b72bf9e054254d9d0d0d5209d0fdc3d07d08653a09933b168fbd7 languageName: node linkType: hard @@ -22143,8 +21577,8 @@ __metadata: linkType: hard "micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.0.6 - resolution: "micromark-core-commonmark@npm:1.0.6" + version: 1.1.0 + resolution: "micromark-core-commonmark@npm:1.1.0" dependencies: decode-named-character-reference: ^1.0.0 micromark-factory-destination: ^1.0.0 @@ -22162,25 +21596,25 @@ __metadata: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.1 uvu: ^0.5.0 - checksum: 6241047732fe258083fdb7bd764e20bf2a37ab02e233c98d88eac527d2ca18f69b667ec3315faf4ef33a99141259522b1b7cc75fc51f20568c302d74ee86bc2a + checksum: b3bf7b7004ce7dbb3ae151dcca4db1d12546f1b943affb2418da4b90b9ce59357373c433ee2eea4c868aee0791dafa355aeed19f5ef2b0acaf271f32f1ecbe6a languageName: node linkType: hard "micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.4" + version: 1.0.5 + resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" dependencies: micromark-util-character: ^1.0.0 micromark-util-sanitize-uri: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: 88af9ea5a3e461426463c8ab3db5fa3189c1fade719d7c5c4122dbdf3e5537ae95bb7405084c6e3d32eda560258fce1360af9032ef86e05e7ab27aa0d7ff669a + checksum: 4964a52605ac36d24501d427e2d173fa39b5e0402275cb45068eba4898f4cb9cc57f7007b21b7514f0ab5f7b371b1701a5156a10b6ac8e77a7f36e830cf481d4 languageName: node linkType: hard "micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-extension-gfm-footnote@npm:1.1.0" + version: 1.1.2 + resolution: "micromark-extension-gfm-footnote@npm:1.1.2" dependencies: micromark-core-commonmark: ^1.0.0 micromark-factory-space: ^1.0.0 @@ -22190,13 +21624,13 @@ __metadata: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: 5474a0f713a7d9a79b0ff18748d57a59c8429d53a8e74c936c102398656167af475afd9626b747a25ca1998f250d3b0f10f38500e50a70b818ff2fdaaef48d40 + checksum: b8090876cc3da5436c6253b0b40e39ceaa470c2429f699c19ee4163cef3102c4cd16c4ac2ec8caf916037fad310cfb52a9ef182c75d50fca7419ba08faad9b39 languageName: node linkType: hard "micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.5" + version: 1.0.7 + resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" dependencies: micromark-util-chunked: ^1.0.0 micromark-util-classify-character: ^1.0.0 @@ -22204,20 +21638,20 @@ __metadata: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: 01bfd323ee0da903f4d7cb3e5bc7405ba7f4f154959dd194b93b4ac18314951a602f58b87640e9ea1488c0cdff8eb231c228b56d683c7df48f9aef99f4729661 + checksum: b45fe93a7a412fc44bae7a183b92a988e17b49ed9d683bd80ee4dde96d462e1ca6b316dd64bda7759e4086d6d8686790a711e53c244f1f4d2b37e1cfe852884d languageName: node linkType: hard "micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.6 - resolution: "micromark-extension-gfm-table@npm:1.0.6" + version: 1.0.7 + resolution: "micromark-extension-gfm-table@npm:1.0.7" dependencies: micromark-factory-space: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: 7fd885ad4341504a9ad99ec09ce5f4c41c3fc8e8762a9fbab6c9569c4eb72aff90d625cbd519384fcbd48ca4d7f87bcac3fb51866ae19780aea13baaaa5f6af1 + checksum: 38b5af80ecab8206845a057338235bee6f47fb6cb904208be4b76e87906765821683e25bef85dfa485809f931eaf8cd55f16cd2f4d6e33b84f56edfaf1dfb129 languageName: node linkType: hard @@ -22231,15 +21665,15 @@ __metadata: linkType: hard "micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.4" + version: 1.0.5 + resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" dependencies: micromark-factory-space: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: 34272df5ce3a8b8a5af4642c77c7dfc9b40c14a17612e72abcc05b99d109204feeba5e427fe88ce1596be161d7ea6c69a62795e71a245d6f2eb5e33293f69d14 + checksum: 2179742fa2cbb243cc06bd9e43fbb94cd98e4814c9d368ddf8b4b5afa0348023f335626ae955e89d679e2c2662a7f82c315117a3b060c87bdb4420fee5a219d1 languageName: node linkType: hard @@ -22260,9 +21694,10 @@ __metadata: linkType: hard "micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdx-expression@npm:1.0.5" + version: 1.0.8 + resolution: "micromark-extension-mdx-expression@npm:1.0.8" dependencies: + "@types/estree": ^1.0.0 micromark-factory-mdx-expression: ^1.0.0 micromark-factory-space: ^1.0.0 micromark-util-character: ^1.0.0 @@ -22270,15 +21705,16 @@ __metadata: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: e2714f12f992d552afdcfd878e3855e80f5899162a9da778be2ab674ce5b5ea728fc08d7937e893d196c46dc51e719ef18b59d20f451dc0236ddb445eb36a596 + checksum: 99e2997a54caafc4258979c0591b3fe8e31018079df833d559768092fec41e57a71225d423f4179cea4e8bc1af2f52f5c9ae640673619d8fe142ded875240da3 languageName: node linkType: hard "micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-mdx-jsx@npm:1.0.4" + version: 1.0.5 + resolution: "micromark-extension-mdx-jsx@npm:1.0.5" dependencies: "@types/acorn": ^4.0.0 + "@types/estree": ^1.0.0 estree-util-is-identifier-name: ^2.0.0 micromark-factory-mdx-expression: ^1.0.0 micromark-factory-space: ^1.0.0 @@ -22287,7 +21723,7 @@ __metadata: micromark-util-types: ^1.0.0 uvu: ^0.5.0 vfile-message: ^3.0.0 - checksum: fdc24ca4492b588b3f750db8f43d072619d74d9600c991edfaba4329a48e1f4ccceb301d762691fdfa3799a7de0629f5ddee67cbf999ab3a9ff72e7472594ebc + checksum: 1b4bfbe60b9cabfabfb870f70ded8da0caacbaa3be6bdf07f6db25cc5a14c6bc970c34c60e5c80da1e97766064a117feb8160b6d661d69e530a4cc7ec97305de languageName: node linkType: hard @@ -22301,9 +21737,10 @@ __metadata: linkType: hard "micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.4 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.4" + version: 1.0.5 + resolution: "micromark-extension-mdxjs-esm@npm:1.0.5" dependencies: + "@types/estree": ^1.0.0 micromark-core-commonmark: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-events-to-acorn: ^1.0.0 @@ -22312,7 +21749,7 @@ __metadata: unist-util-position-from-estree: ^1.1.0 uvu: ^0.5.0 vfile-message: ^3.0.0 - checksum: ab8d53d9ed64a21925633049500e498ee9fcc80f8dcbe04424f178cbd5aaae0aa6b71586e603b63cfa8bf8a9307eec9195654c77fa401a223474d3e4879d9902 + checksum: 612028bced78e882641a43c78fc4813a573b383dc0a7b90db75ed88b37bf5b5997dc7ead4a1011315b34f17bc76b7f4419de6ad9532a088102ab1eea0245d380 languageName: node linkType: hard @@ -22333,31 +21770,31 @@ __metadata: linkType: hard "micromark-factory-destination@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-factory-destination@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-factory-destination@npm:1.1.0" dependencies: micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: f6aed32c80fb947abce5c435e8aed86fb273eb349b162b7fa0a3daeb29f5b857d61e7d1a8bd133b213ee7a13d0b086b0caa4cf6297f6083242d73f1cfa0fe843 + checksum: 71ebd9089bf0c9689b98ef42215c04032ae2701ae08c3546b663628553255dca18e5310dbdacddad3acd8de4f12a789835fff30dadc4da3c4e30387a75e6b488 languageName: node linkType: hard "micromark-factory-label@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-factory-label@npm:1.0.2" + version: 1.1.0 + resolution: "micromark-factory-label@npm:1.1.0" dependencies: micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: a0788bf93cb6e770fef410b2389848c07e31d3eddd11baf22cabdbf99ab1cdcacf78b7765db9e86330d077141274713e50112ea4c960d002c57c4f2d96686ce5 + checksum: 5e2cd2d8214bb92a34dfcedf9c7aecf565e3648650a3a6a0495ededf15f2318dd214dc069e3026402792cd5839d395313f8ef9c2e86ca34a8facaa0f75a77753 languageName: node linkType: hard "micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.8 - resolution: "micromark-factory-mdx-expression@npm:1.0.8" + version: 1.0.9 + resolution: "micromark-factory-mdx-expression@npm:1.0.9" dependencies: "@types/estree": ^1.0.0 micromark-util-character: ^1.0.0 @@ -22367,110 +21804,109 @@ __metadata: unist-util-position-from-estree: ^1.0.0 uvu: ^0.5.0 vfile-message: ^3.0.0 - checksum: 2a3735ccb92426d55cb798ae7b903795bc9ec8f1fbbf4332ddda4a6a1c391d1fdccf0a2a64ba78c3ae5a197fade1b41aa93818cb5a0ed4446b47ef12703b4c47 + checksum: b28bd8e072f37ca91446fe8d113e4ae64baaef013b0cde4aa224add0ee40963ce3584b9709f7662d30491f875ae7104b897d37efa26cdaecf25082ed5bac7b8c languageName: node linkType: hard "micromark-factory-space@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-factory-space@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-factory-space@npm:1.1.0" dependencies: micromark-util-character: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: f28ff6ce111ce0e078a5a8b23437101932591720c29ca782f47bb5e02ff8cae8c5b091310e2347232f3c3627cf28392ed38bc4370a7b3eb331eb1fc8e5f3b53d + checksum: 3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 languageName: node linkType: hard "micromark-factory-title@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-factory-title@npm:1.0.2" + version: 1.1.0 + resolution: "micromark-factory-title@npm:1.1.0" dependencies: micromark-factory-space: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - uvu: ^0.5.0 - checksum: 6af4e2b10eea74b49b49f4708b29f4d24641288aca8c0681fbaed8be9b5a2914d15f85c367bf1eddab28077084511f872a6546493a1fc4d6b127d0cb2066af6c + checksum: cf8c687d1d5c3928846a4791d4a7e2f1d7bdd2397051e20d60f06b7565a48bf85198ab6f85735e997ab3f0cbb80b8b6391f4f7ebc0aae2f2f8c3a08541257bf6 languageName: node linkType: hard "micromark-factory-whitespace@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-factory-whitespace@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-factory-whitespace@npm:1.1.0" dependencies: micromark-factory-space: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: cf7b2b7e7890c7bb91164c6bf96964f0ee256f7217f669ca581c71109cc33d839782997f9790000dd6b930ee4cc9ab251202ca859641f2d292bca84aef73941b + checksum: 7248cc4534f9befb38c6f398b6e38efd3199f1428fc214c9cb7ed5b6e9fa7a82c0d8cdfa9bcacde62887c9a7c8c46baf5c318b2ae8f701afbccc8ad702e92dce languageName: node linkType: hard "micromark-util-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-character@npm:1.1.0" + version: 1.2.0 + resolution: "micromark-util-character@npm:1.2.0" dependencies: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: 16810080f710123e236dca1455bcc75d788beb78c276e42720382781daecb437fd13bb762cccc073d8049ab9ebbb0919295344f3105b3c4942c52d0fbe0153e2 + checksum: 3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 languageName: node linkType: hard "micromark-util-chunked@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-chunked@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-chunked@npm:1.1.0" dependencies: micromark-util-symbol: ^1.0.0 - checksum: f64b9cae96d11d43fc9a012253ea35ddf700ff041378aab5aa681f7b95cd6ba898ad9460b930cd12d779ad2d0fc5e08b77d92ce68ca3bf850e13b33af2cbfbd8 + checksum: 59534cf4aaf481ed58d65478d00eae0080df9b5816673f79b5ddb0cea263e5a9ee9cbb6cc565daf1eb3c8c4ff86fc4e25d38a0577539655cda823a4249efd358 languageName: node linkType: hard "micromark-util-classify-character@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-classify-character@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-classify-character@npm:1.1.0" dependencies: micromark-util-character: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: 942ba5b90c6d50fa9f0be5023db3769c2a840ef1471d2dd69466bdbfc11c2d25a0421c418163b6112845c0a4a27c7e99aab6ca78907b36d087069b2dac15e0cc + checksum: 3266453dc0fdaf584e24c9b3c91d1ed180f76b5856699c51fd2549305814fcab7ec52afb4d3e83d002a9115cd2d2b2ffdc9c0b38ed85120822bf515cc00636ec languageName: node linkType: hard "micromark-util-combine-extensions@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-combine-extensions@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-combine-extensions@npm:1.1.0" dependencies: micromark-util-chunked: ^1.0.0 micromark-util-types: ^1.0.0 - checksum: b527582e34ef701a258ee31ff7cc5f32be224683147295f4727b6437c05484289f9d117f2f805ac9608649ee538461f4bfb1a5530e55d5448f90b3e3f3047c90 + checksum: 0bc572fab3fe77f533c29aa1b75cb847b9fc9455f67a98623ef9740b925c0b0426ad9f09bbb56f1e844ea9ebada7873d1f06d27f7c979a917692b273c4b69e31 languageName: node linkType: hard "micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" dependencies: micromark-util-symbol: ^1.0.0 - checksum: 5d53453876defe7c821ea9af83cef90a261c8cbe7af32dbbd34b5b80eb521f08523bd4632cb73c6fd2b64f7383e28aaa07d227a2e43c7bc0f6659241278b3826 + checksum: 64ef2575e3fc2426976c19e16973348f20b59ddd5543f1467ac2e251f29e0a91f12089703d29ae985b0b9a408ee0d72f06d04ed3920811aa2402aabca3bdf9e4 languageName: node linkType: hard "micromark-util-decode-string@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-util-decode-string@npm:1.0.2" + version: 1.1.0 + resolution: "micromark-util-decode-string@npm:1.1.0" dependencies: decode-named-character-reference: ^1.0.0 micromark-util-character: ^1.0.0 micromark-util-decode-numeric-character-reference: ^1.0.0 micromark-util-symbol: ^1.0.0 - checksum: 325300615d45084c61361c5480269690e2f1c173ee96caa85dcb406d2930be587467510037374fe81dd318d226fefb654e862c45ecf7cc12d9f53354ed3e7d43 + checksum: 757a0aaa5ad6c50c7480bd75371d407ac75f5022cd4404aba07adadf1448189502aea9bb7b2d09d25e18745e0abf72b95506b6beb184bcccabe919e48e3a5df7 languageName: node linkType: hard "micromark-util-encode@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-util-encode@npm:1.0.1" - checksum: d00bf397d97a872ce2f8f3e677ff6aecc66fa1d64ef1d67226596c4a9fe0b8c6d321c6edd815826d1896af7ea2c453a88502de4300f8c5dc886d58636f32995f + version: 1.1.0 + resolution: "micromark-util-encode@npm:1.1.0" + checksum: 9878c9bc96999d45626a7597fffac85348ea842dce75d2417345cbf070a9941c62477bd0963bef37d4f0fd29f2982be6ddf416d62806f00ccb334af9d6ee87e7 languageName: node linkType: hard @@ -22491,70 +21927,70 @@ __metadata: linkType: hard "micromark-util-html-tag-name@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-html-tag-name@npm:1.1.0" - checksum: 700bebb77a893c93d2b236413c043425dfb068314d8e6aa66090575b86a700d23a64b9e96a343391ce4cf63c40d12df1163f90e92d2d985b125d3315f4601b81 + version: 1.2.0 + resolution: "micromark-util-html-tag-name@npm:1.2.0" + checksum: 15421869678d36b4fe51df453921e8186bff514a14e9f79f32b7e1cdd67874e22a66ad34a7f048dd132cbbbfc7c382ae2f777a2bfd1f245a47705dc1c6d4f199 languageName: node linkType: hard "micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-normalize-identifier@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-normalize-identifier@npm:1.1.0" dependencies: micromark-util-symbol: ^1.0.0 - checksum: de4285cbdf1588f0db934e868d78ebd74dfe10802508ed2b0e7a5fec6eddc00f2d496c2d33f2e70707e3f33e31d6c7c1ff59a3841f4c425535c72ea7b6d3a89c + checksum: a9657321a2392584e4d978061882117a84db7d2c2c1c052c0f5d25da089d463edb9f956d5beaf7f5768984b6f72d046d59b5972951ec7bf25397687a62b8278a languageName: node linkType: hard "micromark-util-resolve-all@npm:^1.0.0": - version: 1.0.0 - resolution: "micromark-util-resolve-all@npm:1.0.0" + version: 1.1.0 + resolution: "micromark-util-resolve-all@npm:1.1.0" dependencies: micromark-util-types: ^1.0.0 - checksum: 0373d4fd0dcf340a60e584b1ea0b21d986709378042d39a8790b3086013e3c9e523a2c6fcffb9c8bf0d3ff6f236f6cb5df72044c1a7fffa68fef65daf4ae6ff1 + checksum: b5c95484c06e87bbbb60d8430eb030a458733a5270409f4c67892d1274737087ca6a7ca888987430e57cf1dcd44bb16390d3b3936a2bf07f7534ec8f52ce43c9 languageName: node linkType: hard "micromark-util-sanitize-uri@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-sanitize-uri@npm:1.1.0" + version: 1.2.0 + resolution: "micromark-util-sanitize-uri@npm:1.2.0" dependencies: micromark-util-character: ^1.0.0 micromark-util-encode: ^1.0.0 micromark-util-symbol: ^1.0.0 - checksum: aa7cde6bc8e6a8971b8501c0cfeb4185a77f5b4eba8eb65cfdbdcb29106f29878376b655e8f9942d0090b87785a54ec2b349046cf60759dc44a4c90fcf0eac3e + checksum: dbdb98248e9f0408c7a00f1c1cd805775b41d213defd659533835f34b38da38e8f990bf7b3f782e96bffbc549aec9c3ecdab197d4ad5adbfe08f814a70327b6e languageName: node linkType: hard "micromark-util-subtokenize@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-util-subtokenize@npm:1.0.2" + version: 1.1.0 + resolution: "micromark-util-subtokenize@npm:1.1.0" dependencies: micromark-util-chunked: ^1.0.0 micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.0 uvu: ^0.5.0 - checksum: d4aea094d9040be13ec31b619106a1e19771cbdda88f19011f0f03f73d1ae97771b35a577fdf35d75ce61056394bb4b18cb5edac4c8b851632e86306e0e9838b + checksum: f292b1b162845db50d36255c9d4c4c6d47931fbca3ac98a80c7e536d2163233fd662f8ca0479ee2b80f145c66a1394c7ed17dfce801439741211015e77e3901e languageName: node linkType: hard "micromark-util-symbol@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-util-symbol@npm:1.0.1" - checksum: 760dbebaf853b8d6e690f911ef5e7bcd52c3b5447c8a99c309dfc874f5c30dc6428bd600669ac8c47a46de54fce337b366474e429f9c2f859f0f59cb1516b22c + version: 1.1.0 + resolution: "micromark-util-symbol@npm:1.1.0" + checksum: 10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 languageName: node linkType: hard "micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.0.2 - resolution: "micromark-util-types@npm:1.0.2" - checksum: 850fa76d1ed229e906d16ab91f023f680adf9b3d6adb0332983d2fc0d650dded416aac7846e0a23f154efffb43e36df1f8312831e0ed5e28f059eb50f11f2097 + version: 1.1.0 + resolution: "micromark-util-types@npm:1.1.0" + checksum: a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 languageName: node linkType: hard "micromark@npm:^3.0.0": - version: 3.1.0 - resolution: "micromark@npm:3.1.0" + version: 3.2.0 + resolution: "micromark@npm:3.2.0" dependencies: "@types/debug": ^4.0.0 debug: ^4.0.0 @@ -22573,7 +22009,7 @@ __metadata: micromark-util-symbol: ^1.0.0 micromark-util-types: ^1.0.1 uvu: ^0.5.0 - checksum: b316e5a804039d95794527fc1c7f87dd5fee0c793aff9f2ba1a4ad40dc2c29a541b68c01507f0ae52f91138f560d896f9ea1ad267e183740ec2456caf590ccaf + checksum: f243e805d1b3cc699fddae2de0b1492bc82462f1a709d7ae5c82039f88b1e009c959100184717e748be057b5f88603289d5681679a4e6fbabcd037beb34bc744 languageName: node linkType: hard @@ -22608,7 +22044,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": version: 4.0.5 resolution: "micromatch@npm:4.0.5" dependencies: @@ -22678,6 +22114,20 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -22775,7 +22225,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.1.0, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.7": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -22791,21 +22241,6 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^1.3.2": - version: 1.4.1 - resolution: "minipass-fetch@npm:1.4.1" - dependencies: - encoding: ^0.1.12 - minipass: ^3.1.0 - minipass-sized: ^1.0.3 - minizlib: ^2.0.0 - dependenciesMeta: - encoding: - optional: true - checksum: a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a - languageName: node - linkType: hard - "minipass-fetch@npm:^2.0.3": version: 2.1.2 resolution: "minipass-fetch@npm:2.1.2" @@ -22855,7 +22290,7 @@ __metadata: languageName: node linkType: hard -"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": +"minipass-pipeline@npm:^1.2.4": version: 1.2.4 resolution: "minipass-pipeline@npm:1.2.4" dependencies: @@ -22873,7 +22308,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3, minipass@npm:^3.1.6": +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -22903,7 +22338,7 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" dependencies: @@ -23162,7 +22597,7 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 @@ -23294,10 +22729,17 @@ __metadata: languageName: node linkType: hard +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + "node-fetch-native@npm:^1.0.2": - version: 1.1.1 - resolution: "node-fetch-native@npm:1.1.1" - checksum: 4b12e42c7bd80688acbfd8cceaa246aa00c532d00193e049d9ccce7038b135932a7f1d8a12107e790b827f295d1fd9e76706b634bce7c7e375e6a2f96e233e0f + version: 1.2.0 + resolution: "node-fetch-native@npm:1.2.0" + checksum: 85faa0b7af6884fd615ddc05ec70f05d3818bef8ece43952c49dd849885b21fe7cef54f62cf17b9c0faadfe13498f667a996070d386918ab7017b46c725c5ff6 languageName: node linkType: hard @@ -23315,7 +22757,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.6.11 resolution: "node-fetch@npm:2.6.11" dependencies: @@ -23329,6 +22771,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.3.1": + version: 3.3.1 + resolution: "node-fetch@npm:3.3.1" + dependencies: + data-uri-to-buffer: ^4.0.0 + fetch-blob: ^3.1.4 + formdata-polyfill: ^4.0.10 + checksum: 78671bffed741a2f3ccb15588a42fd7e9db2bdc9f99f9f584e0c749307f9603d961692f0877d853b28a4d1375ab2253b19978dd3bfc0c3189b42adc340bef927 + languageName: node + linkType: hard + "node-forge@npm:^1, node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -23347,27 +22800,7 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^8.4.0": - version: 8.4.1 - resolution: "node-gyp@npm:8.4.1" - dependencies: - env-paths: ^2.2.0 - glob: ^7.1.4 - graceful-fs: ^4.2.6 - make-fetch-happen: ^9.1.0 - nopt: ^5.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.2 - which: ^2.0.2 - bin: - node-gyp: bin/node-gyp.js - checksum: 80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 - languageName: node - linkType: hard - -"node-gyp@npm:^9.0.0, node-gyp@npm:latest": +"node-gyp@npm:^9.0.0, node-gyp@npm:^9.3.1, node-gyp@npm:latest": version: 9.3.1 resolution: "node-gyp@npm:9.3.1" dependencies: @@ -23436,24 +22869,13 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.8": +"node-releases@npm:^2.0.12, node-releases@npm:^2.0.8": version: 2.0.12 resolution: "node-releases@npm:2.0.12" checksum: 01f9a7c135be5c8bc989b6c10b9840a7aee09040d46ba4e64b5ea0174fb8891f1277514aef75033ce42031f6cb72a04d4a7e99c70ca25488ad63ad6fc5a5b6a0 languageName: node linkType: hard -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" - dependencies: - abbrev: 1 - bin: - nopt: bin/nopt.js - checksum: fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 - languageName: node - linkType: hard - "nopt@npm:^6.0.0": version: 6.0.0 resolution: "nopt@npm:6.0.0" @@ -23538,6 +22960,13 @@ __metadata: languageName: node linkType: hard +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 + languageName: node + linkType: hard + "npm-bundled@npm:^1.1.2": version: 1.1.2 resolution: "npm-bundled@npm:1.1.2" @@ -23719,7 +23148,7 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": +"npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" dependencies: @@ -23782,10 +23211,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0, nwsapi@npm:^2.2.2": - version: 2.2.4 - resolution: "nwsapi@npm:2.2.4" - checksum: d6d297feed79e0fc984e7a9588fe20255a493c0645f35a3419b04662535311cc38126fa12d8e1a5ae8f18cc0de0ec0d36680e03fab44050f7117e0503ecc9c38 +"nwsapi@npm:^2.2.2": + version: 2.2.5 + resolution: "nwsapi@npm:2.2.5" + checksum: bc1cffd006ac9648085b89550be6083cdde7d7d4bd93139d4f1d7183c8cc6ca8878d8274c9f00456fd02701928d14df4f4ab2ff5422f172b9e9c1fa845dd49ce languageName: node linkType: hard @@ -24106,13 +23535,6 @@ __metadata: languageName: node linkType: hard -"octokit-pagination-methods@npm:^1.1.0": - version: 1.1.0 - resolution: "octokit-pagination-methods@npm:1.1.0" - checksum: e8b2b346e7ad91c1b10a3d8be76d8aa33889b4df0bd5c28106dc2e8b5498185bbb5bd884ef07a57b09a5c54003deb2814280bab6ed6991e9e650c5cdc9879924 - languageName: node - linkType: hard - "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -24156,7 +23578,7 @@ __metadata: languageName: node linkType: hard -"open@npm:8.4.2, open@npm:^8.0.9, open@npm:^8.4.0, open@npm:~8.4.0": +"open@npm:8.4.2, open@npm:^8.0.4, open@npm:^8.0.9, open@npm:^8.4.0, open@npm:~8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -24167,16 +23589,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.0.3": - version: 7.4.2 - resolution: "open@npm:7.4.2" - dependencies: - is-docker: ^2.0.0 - is-wsl: ^2.1.1 - checksum: 77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f - languageName: node - linkType: hard - "open@npm:^9.1.0": version: 9.1.0 resolution: "open@npm:9.1.0" @@ -24283,10 +23695,20 @@ __metadata: languageName: node linkType: hard -"overlayscrollbars@npm:^1.13.1": - version: 1.13.3 - resolution: "overlayscrollbars@npm:1.13.3" - checksum: 2eea68189aebf772282305ff83c90a6caa20b7e0f2b0dd792a017a6226c68a2db756665c59a8a40b1de53e83c3918c9a13dc35875b6e1d56ff08237cb6f57699 +"overlayscrollbars-react@npm:^0.5.0": + version: 0.5.0 + resolution: "overlayscrollbars-react@npm:0.5.0" + peerDependencies: + overlayscrollbars: ^2.0.0 + react: ">=16.8.0" + checksum: 2d70c41e8f171c0e701825b17a3184e403f8173a7124112834feec8f90d3633337acfffdeaf41583b2f948191b855d8a468ebd0990d8437a792ca4899801abd0 + languageName: node + linkType: hard + +"overlayscrollbars@npm:^2.2.0": + version: 2.2.0 + resolution: "overlayscrollbars@npm:2.2.0" + checksum: 25a2b5cc6c5cd5276bb82b7338ceed307815c3d0ee8ea8053f4b19898189b955d00da4f03e1615b8e330fdf61275e02791818937901fff17cc5462d7bb9b8edc languageName: node linkType: hard @@ -24297,6 +23719,13 @@ __metadata: languageName: node linkType: hard +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 + languageName: node + linkType: hard + "p-event@npm:^4.1.0": version: 4.2.0 resolution: "p-event@npm:4.2.0" @@ -24765,7 +24194,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.1": +"parse5@npm:^6.0.1": version: 6.0.1 resolution: "parse5@npm:6.0.1" checksum: 595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb @@ -24918,9 +24347,9 @@ __metadata: linkType: hard "pathe@npm:^1.1.0": - version: 1.1.0 - resolution: "pathe@npm:1.1.0" - checksum: 1c5d07378475bcdf4f435684566190d35d06be2db8b8e61cf9e866ae649941fdb093d732fa01b0f51d86e3f94140543c2571b0bf65a87ca7b5d1f52152aabe03 + version: 1.1.1 + resolution: "pathe@npm:1.1.1" + checksum: 3ae5a0529c3415d91c3ac9133f52cffea54a0dd46892fe059f4b80faf36fd207957d4594bdc87043b65d0761b1e5728f81f46bafff3b5302da4e2e48889b8c0e languageName: node linkType: hard @@ -24983,6 +24412,15 @@ __metadata: languageName: node linkType: hard +"pidtree@npm:^0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + "pify@npm:5.0.0, pify@npm:^5.0.0": version: 5.0.0 resolution: "pify@npm:5.0.0" @@ -25103,23 +24541,23 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.34.3": - version: 1.34.3 - resolution: "playwright-core@npm:1.34.3" +"playwright-core@npm:1.35.0": + version: 1.35.0 + resolution: "playwright-core@npm:1.35.0" bin: playwright-core: cli.js - checksum: 2e3ec8394b69bcd55db3a01a0a2cf63ee4b924bd79852c237d3eb045273f056b5784ab2147f60a7bb2db7998b8f7c5ec34d8554dd7648cc77d5affc9d91a85c8 + checksum: 157257f0950190903d75ff6af70258fe1b1c6bf44f144a063428a594c09b4631d4c151ff65e28e1d9fc13edd8bd51c4720a7d87fc755c2afba47f41919bf5875 languageName: node linkType: hard -"playwright@npm:^1.24.2": - version: 1.34.3 - resolution: "playwright@npm:1.34.3" +"playwright@npm:1.35.0": + version: 1.35.0 + resolution: "playwright@npm:1.35.0" dependencies: - playwright-core: 1.34.3 + playwright-core: 1.35.0 bin: playwright: cli.js - checksum: e17c0dbfc87f8764d1e34762b27d561d34a1e3dccc5d4e5d08edbf58e582d49e86ecf161f7f21af103a35045ae5a9cf0169204aa9c0a808046116cb2cc9f415c + checksum: efe6a7c74fff1fe30b952e3d80a6da42779579174ae4ced83e24ebd07d9388f0a43d5188106f08874e645128e27b020c0c8e118948d607328d37a38b20c57c19 languageName: node linkType: hard @@ -25171,7 +24609,7 @@ __metadata: languageName: node linkType: hard -"portfinder@npm:^1.0.25": +"portfinder@npm:^1.0.28": version: 1.0.32 resolution: "portfinder@npm:1.0.32" dependencies: @@ -25212,8 +24650,8 @@ __metadata: linkType: hard "postcss-loader@npm:^7.0.2": - version: 7.3.1 - resolution: "postcss-loader@npm:7.3.1" + version: 7.3.2 + resolution: "postcss-loader@npm:7.3.2" dependencies: cosmiconfig: ^8.1.3 jiti: ^1.18.2 @@ -25222,7 +24660,7 @@ __metadata: peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 - checksum: 3713d58a6149013b7df8498322986ed472a65e1a4b84c6c0ad15a074d718c03d5d1df5f16e6ecf6396d00c2050e0d2b829d92e054e2aafcd6eff963d6f2e50ed + checksum: 635975cd6620a251eaf19ae27e13fcb777391d68083c71551467f3fd1aec80648d444a46c9c91018e0eb0e6eb3d02cdba44ffe15eff41cf48756092766ebec4b languageName: node linkType: hard @@ -25256,7 +24694,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.1": +"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.3": version: 4.0.3 resolution: "postcss-modules-local-by-default@npm:4.0.3" dependencies: @@ -25356,7 +24794,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.23, postcss@npm:^8.1.10, postcss@npm:^8.2.14, postcss@npm:^8.3.7, postcss@npm:^8.4.14, postcss@npm:^8.4.19, postcss@npm:^8.4.21, postcss@npm:^8.4.23": +"postcss@npm:8.4.23": version: 8.4.23 resolution: "postcss@npm:8.4.23" dependencies: @@ -25377,6 +24815,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.1.10, postcss@npm:^8.2.14, postcss@npm:^8.3.7, postcss@npm:^8.4.14, postcss@npm:^8.4.19, postcss@npm:^8.4.21, postcss@npm:^8.4.23": + version: 8.4.24 + resolution: "postcss@npm:8.4.24" + dependencies: + nanoid: ^3.3.6 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: 37704ee03a2cbdebf2c99a76d399d6e0250742b5f6c699a12d475c84cedfcbeb26e180d9c780e0219dd2ad70cac963ceaf1d6763a1aec3e63d0c19fceb0eab23 + languageName: node + linkType: hard + "preact-render-to-string@npm:^5.1.19": version: 5.2.6 resolution: "preact-render-to-string@npm:5.2.6" @@ -25487,18 +24936,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^28.0.0, pretty-format@npm:^28.1.3": - version: 28.1.3 - resolution: "pretty-format@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: 596d8b459b6fdac7dcbd70d40169191e889939c17ffbcc73eebe2a9a6f82cdbb57faffe190274e0a507d9ecdf3affadf8a9b43442a625eecfbd2813b9319660f - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.5.0": version: 29.5.0 resolution: "pretty-format@npm:29.5.0" @@ -26004,7 +25441,7 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^6.8.2": +"query-string@npm:^6.12.1": version: 6.14.1 resolution: "query-string@npm:6.14.1" dependencies: @@ -26067,6 +25504,13 @@ __metadata: languageName: node linkType: hard +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + "quick-temp@npm:^0.1.3, quick-temp@npm:^0.1.5, quick-temp@npm:^0.1.8": version: 0.1.8 resolution: "quick-temp@npm:0.1.8" @@ -26280,11 +25724,11 @@ __metadata: linkType: hard "react-inspector@npm:^6.0.0": - version: 6.0.1 - resolution: "react-inspector@npm:6.0.1" + version: 6.0.2 + resolution: "react-inspector@npm:6.0.2" peerDependencies: react: ^16.8.4 || ^17.0.0 || ^18.0.0 - checksum: 34b0ba6e8c718aa0bbde3bc325531bc94b1e536eb226579e57cb912065693ff70611308c8e567c8e5703b0513655eb5258e5c3ac447e6a5003a44559abc84fa7 + checksum: 8f9b23c21b4d95722e28c9455c2bf00fd9437347714382594461f98e5b9954d60864d0f4e74e881639b065e752a97ba52a65e39930c234072e5bff291bb02b5e languageName: node linkType: hard @@ -26513,14 +25957,14 @@ __metadata: linkType: hard "read-package-json@npm:^6.0.0": - version: 6.0.3 - resolution: "read-package-json@npm:6.0.3" + version: 6.0.4 + resolution: "read-package-json@npm:6.0.4" dependencies: glob: ^10.2.2 json-parse-even-better-errors: ^3.0.0 normalize-package-data: ^5.0.0 npm-normalize-package-bin: ^3.0.0 - checksum: 226290ed6729b353313521109e3a2da7d4c4cd43c0c1ba73cad4a59e6728735712fe43c187e25c30564d297b6677ec99abc80c063f4d68e413e37c28a5c5f687 + checksum: 0eb1110b35bc109a8d2789358a272c66b0fb8fd335a98df2ea9ff3423be564e2908f27d98f3f4b41da35495e04dc1763b33aad7cc24bfd58dfc6d60cca7d70c9 languageName: node linkType: hard @@ -26713,15 +26157,6 @@ __metadata: languageName: node linkType: hard -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: ^1.1.6 - checksum: 22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 - languageName: node - linkType: hard - "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -26780,7 +26215,7 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.2, regenerator-runtime@npm:^0.13.4": +"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.2, regenerator-runtime@npm:^0.13.4, regenerator-runtime@npm:^0.13.9": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 @@ -27280,6 +26715,13 @@ __metadata: languageName: node linkType: hard +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -27333,6 +26775,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + "resolve-url-loader@npm:5.0.0, resolve-url-loader@npm:^5.0.0": version: 5.0.0 resolution: "resolve-url-loader@npm:5.0.0" @@ -27373,7 +26822,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2, resolve@npm:^1.4.0": +"resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2, resolve@npm:^1.4.0": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -27412,7 +26861,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.15.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.4.0#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.15.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.4.0#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" dependencies: @@ -27438,6 +26887,15 @@ __metadata: languageName: node linkType: hard +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: ^2.0.0 + checksum: 360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -27547,9 +27005,9 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^3.20.1, rollup@npm:^3.20.2, rollup@npm:^3.21.0": - version: 3.23.0 - resolution: "rollup@npm:3.23.0" +"rollup@npm:^3.20.1, rollup@npm:^3.21.0": + version: 3.24.0 + resolution: "rollup@npm:3.24.0" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -27557,7 +27015,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: e0cdd5c188272e33d12c7f411f1a5727dbe97bdc58e178b14d4dccf679152c14abaae5130d5de7bc69ba5be5de829c367dc5c29ba93725756a15a241b80de4ab + checksum: b9c2d72937af906ddffcc4a9e66936912a391c7b20cd89ed5afd50dfb0350f8efac4f58f9087cf09a982183b7adf2b6a2bd461080f775891a1d145e77672f5d6 languageName: node linkType: hard @@ -27617,7 +27075,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:7.8.1, rxjs@npm:^7.5.1, rxjs@npm:^7.5.5, rxjs@npm:^7.8.0": +"rxjs@npm:7.8.1, rxjs@npm:^7.5.5, rxjs@npm:^7.8.0": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -27781,15 +27239,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: b7476c41dbe1c3a89907d2546fecfba234de5e66743ef914cde2603f47b19bed09732ab51b528ad0f98b958369d8be72b6f5af5c9cfad69972a73d061f0b3952 - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -27803,7 +27252,7 @@ __metadata: version: 0.0.0-use.local resolution: "sb@workspace:lib/cli-sb" dependencies: - "@storybook/cli": 7.1.0-alpha.29 + "@storybook/cli": 7.1.0-alpha.30 bin: sb: ./index.js languageName: unknown @@ -27820,25 +27269,25 @@ __metadata: linkType: hard "schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.1.2": - version: 3.1.2 - resolution: "schema-utils@npm:3.1.2" + version: 3.2.0 + resolution: "schema-utils@npm:3.2.0" dependencies: "@types/json-schema": ^7.0.8 ajv: ^6.12.5 ajv-keywords: ^3.5.2 - checksum: 33fa502462d0f957b6fb7097f15ba72aa19a14b0313fc7815c591ba47d8607b193055fa1d2ed928a53fd6c1ae8bdc429af2fd4a9e7fae7403014a6bb90763977 + checksum: 287e83374ca4c763cd17a532055cab479629584fd872db2c6d75075f46f5758721241ae83a856977643a06b4c449d8db329de6b2d169bfcc1797b4cf45447970 languageName: node linkType: hard "schema-utils@npm:^4.0.0": - version: 4.0.1 - resolution: "schema-utils@npm:4.0.1" + version: 4.1.0 + resolution: "schema-utils@npm:4.1.0" dependencies: "@types/json-schema": ^7.0.9 ajv: ^8.9.0 ajv-formats: ^2.1.1 ajv-keywords: ^5.1.0 - checksum: 946298a2efc7ae1cdf084bae8cd9927c25f8396cf0e848603f12554d3f8e962d375fbe337e60d7ed7e27dc69969f014e9b945a87ce32c6f9259a9d61c9d4fa28 + checksum: bb1b387936c5d98f8a7fbd21a158259af9c981fb07460b39052f8bddd068297ec06c41629177a3be54eac017ce077c9d71b01773502b99caad6be167c2a9b82c languageName: node linkType: hard @@ -28127,19 +27576,6 @@ __metadata: languageName: node linkType: hard -"shelljs@npm:^0.8.5": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: ^7.0.0 - interpret: ^1.0.0 - rechoir: ^0.6.2 - bin: - shjs: bin/shjs - checksum: feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 - languageName: node - linkType: hard - "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -28166,15 +27602,16 @@ __metadata: linkType: hard "sigstore@npm:^1.0.0, sigstore@npm:^1.3.0, sigstore@npm:^1.4.0": - version: 1.5.2 - resolution: "sigstore@npm:1.5.2" + version: 1.6.0 + resolution: "sigstore@npm:1.6.0" dependencies: "@sigstore/protobuf-specs": ^0.1.0 + "@sigstore/tuf": ^1.0.0 make-fetch-happen: ^11.0.1 tuf-js: ^1.1.3 bin: sigstore: bin/sigstore.js - checksum: dfe6426c7fc9631883280655f54bd264d2a4f2fa95815ada678cafef5b9d8b02468ea1c560a95a1e7538017f4fa77f7f06840117b1c61289cad8e547bca47f50 + checksum: d0dd051774765ded57d19652a115ddebd2bd3253b1db11ce6cb83f32ab86c3f200bfe83138c577ea179236e148d93d3480430561081eef7cb0d8deab1b466f75 languageName: node linkType: hard @@ -28253,6 +27690,16 @@ __metadata: languageName: node linkType: hard +"slice-ansi@npm:^5.0.0": + version: 5.0.0 + resolution: "slice-ansi@npm:5.0.0" + dependencies: + ansi-styles: ^6.0.0 + is-fullwidth-code-point: ^4.0.0 + checksum: 2d4d40b2a9d5cf4e8caae3f698fe24ae31a4d778701724f578e984dcb485ec8c49f0c04dab59c401821e80fcdfe89cace9c66693b0244e40ec485d72e543914f + languageName: node + linkType: hard + "sliced@npm:^1.0.1": version: 1.0.1 resolution: "sliced@npm:1.0.1" @@ -28314,17 +27761,6 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^6.0.0": - version: 6.2.1 - resolution: "socks-proxy-agent@npm:6.2.1" - dependencies: - agent-base: ^6.0.2 - debug: ^4.3.3 - socks: ^2.6.2 - checksum: d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -28698,16 +28134,7 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^8.0.0, ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" - dependencies: - minipass: ^3.1.1 - checksum: 5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": +"stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -28767,7 +28194,7 @@ __metadata: version: 0.0.0-use.local resolution: "storybook@workspace:lib/cli-storybook" dependencies: - "@storybook/cli": 7.1.0-alpha.29 + "@storybook/cli": 7.1.0-alpha.30 bin: sb: ./index.js storybook: ./index.js @@ -28826,10 +28253,10 @@ __metadata: languageName: node linkType: hard -"string-argv@npm:0.3.1": - version: 0.3.1 - resolution: "string-argv@npm:0.3.1" - checksum: f59582070f0a4a2d362d8331031f313771ad2b939b223b0593d7765de2689c975e0069186cef65977a29af9deec248c7e480ea4015d153ead754aea5e4bcfe7c +"string-argv@npm:^0.3.1": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 languageName: node linkType: hard @@ -28882,7 +28309,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": +"string-width@npm:^5.0.0, string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" dependencies: @@ -28977,17 +28404,6 @@ __metadata: languageName: node linkType: hard -"stringify-object@npm:^3.3.0": - version: 3.3.0 - resolution: "stringify-object@npm:3.3.0" - dependencies: - get-own-enumerable-property-symbols: ^3.0.0 - is-obj: ^1.0.1 - is-regexp: ^1.0.0 - checksum: ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -29007,11 +28423,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.0.1 - resolution: "strip-ansi@npm:7.0.1" + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: ansi-regex: ^6.0.1 - checksum: a94805f54caefae6cf4870ee6acfe50cff69d90a37994bf02c096042d9939ee211e1568f34b9fa5efa03c7d7fea79cb3ac8a4e517ceb848284ae300da06ca7e9 + checksum: a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 languageName: node linkType: hard @@ -29215,11 +28631,11 @@ __metadata: linkType: hard "svelte-hmr@npm:^0.15.1": - version: 0.15.1 - resolution: "svelte-hmr@npm:0.15.1" + version: 0.15.2 + resolution: "svelte-hmr@npm:0.15.2" peerDependencies: - svelte: ">=3.19.0" - checksum: e792d5ee326e68a3fde434923a15915534b4fe2ec74ee4ff4d3fa5ac7d05e1bf839b8df0add107d9017a3990bb421de92d69345346000aed1093b2f605c62f1e + svelte: ^3.19.0 || ^4.0.0-next.0 + checksum: 933b06dcd6f926d2fc7d69505708f5e33b4acadc1689614d1f7f2cd50e2b315b6fa2cecf17ab46b97d16f2a6e4ebe461998c80bb2d0d9cac00e6b19846b2c61e languageName: node linkType: hard @@ -29237,8 +28653,8 @@ __metadata: linkType: hard "svelte-preprocess@npm:^5.0.3": - version: 5.0.3 - resolution: "svelte-preprocess@npm:5.0.3" + version: 5.0.4 + resolution: "svelte-preprocess@npm:5.0.4" dependencies: "@types/pug": ^2.0.6 detect-indent: ^6.1.0 @@ -29255,7 +28671,7 @@ __metadata: sass: ^1.26.8 stylus: ^0.55.0 sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 typescript: ">=3.9.5 || ^4.0.0 || ^5.0.0" peerDependenciesMeta: "@babel/core": @@ -29278,7 +28694,7 @@ __metadata: optional: true typescript: optional: true - checksum: ec4fd22320eba631d7abc2641f542ec7e10f8a1862eb522fb5e12651c1f541d048c64191d770841a48793b8051b5bf6b09307505d66d6bb9786ba6807918057d + checksum: 1ed64b96a91327a47992df0b82df708b5cda92e1da211edbedaf411e633a0be5a8425d19f996abc8dcef52dadd26b5474924dd9eeb30a7b409bf60c33b689d6c languageName: node linkType: hard @@ -29407,7 +28823,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.13, tar@npm:^6.1.2": +"tar@npm:^6.1.11, tar@npm:^6.1.13, tar@npm:^6.1.2": version: 6.1.15 resolution: "tar@npm:6.1.15" dependencies: @@ -29529,16 +28945,16 @@ __metadata: linkType: hard "terser@npm:^5.10.0, terser@npm:^5.16.8": - version: 5.17.6 - resolution: "terser@npm:5.17.6" + version: 5.17.7 + resolution: "terser@npm:5.17.7" dependencies: - "@jridgewell/source-map": ^0.3.2 - acorn: ^8.5.0 + "@jridgewell/source-map": ^0.3.3 + acorn: ^8.8.2 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 4c175f35af332320189db20e2b37b0671c51164d55a3fc44ed5b74b023858fd670cb987de7b2e8e3704b0d863f95ea9a0ecff37c8c01a48906fb7f81b512a5c8 + checksum: 864154a1750daf516012e5add4f0749bfc71e8f4f918973ec3d504db6a148be976adf46ae490e795173eeff59ec579d7d464bb6354c1bb71f8e14ff398409aed languageName: node linkType: hard @@ -29749,24 +29165,15 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2": - version: 4.1.2 - resolution: "tough-cookie@npm:4.1.2" +"tough-cookie@npm:^4.1.2": + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" dependencies: psl: ^1.1.33 punycode: ^2.1.1 universalify: ^0.2.0 url-parse: ^1.5.3 - checksum: 1f9d97bc9ff22b41e107eca4a146064f916e567b5557795dbfe742f098557ba1101b8f7c4e02ac785236663f7f086c37dc595a5b9813ef8fb27f8d800dc9eb9b - languageName: node - linkType: hard - -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" - dependencies: - punycode: ^2.1.0 - checksum: 41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + checksum: 4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 languageName: node linkType: hard @@ -29866,39 +29273,6 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^28.0.0": - version: 28.0.8 - resolution: "ts-jest@npm:28.0.8" - dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x - jest-util: ^28.0.0 - json5: ^2.2.1 - lodash.memoize: 4.x - make-error: 1.x - semver: 7.x - yargs-parser: ^21.0.1 - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^28.0.0 - babel-jest: ^28.0.0 - jest: ^28.0.0 - typescript: ">=4.3" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: 4f6d7c8dbf6deaf56f4490ae819071077e8ed30c1a3c87c7d2e21b3103e6d12aaa53d2776cb5c947bac3f3a05cd9f8dea2aedc4c6550c14fbf639c1368a0fbc9 - languageName: node - linkType: hard - "ts-jest@npm:^29.0.0": version: 29.1.0 resolution: "ts-jest@npm:29.1.0" @@ -30009,18 +29383,18 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths-webpack-plugin@npm:^3.5.2": - version: 3.5.2 - resolution: "tsconfig-paths-webpack-plugin@npm:3.5.2" +"tsconfig-paths-webpack-plugin@npm:^4.0.1": + version: 4.0.1 + resolution: "tsconfig-paths-webpack-plugin@npm:4.0.1" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.7.0 - tsconfig-paths: ^3.9.0 - checksum: 8b964284cfc58b5d3c4b13c31d7032d6774076d0af78f215644abd10da5b2c1b47eb91f9c084e709c84a70918fbc1cdb8730eba489c3f9be8039bf1e8daebcd4 + tsconfig-paths: ^4.1.2 + checksum: c5d09b669b07806b5f4e5aafd893824a9e302ddb8e011ad48c4cf65143414b5b317f09d84e2b8a13ad1e5b52d658e7eb1f71af1dc267533eb766b3f144963b30 languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1, tsconfig-paths@npm:^3.9.0": +"tsconfig-paths@npm:^3.14.1": version: 3.14.2 resolution: "tsconfig-paths@npm:3.14.2" dependencies: @@ -30070,9 +29444,9 @@ __metadata: linkType: hard "tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": - version: 2.5.2 - resolution: "tslib@npm:2.5.2" - checksum: 34fa100454708fa8acb7afc2b07d80e0332081e2075ddd912ba959af3b24f969663dac6d602961e57371dc05683badb83b3186ada92c4631ec777e02e3aab608 + version: 2.5.3 + resolution: "tslib@npm:2.5.3" + checksum: 4cb1817d34fae5b27d146e6c4a468d4155097d95c1335d0bc9690f11f33e63844806bf4ed6d97c30c72b8d85261b66cbbe16d871d9c594ac05701ec83e62a607 languageName: node linkType: hard @@ -30130,66 +29504,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:2.19.0, type-fest@npm:^2.14.0, type-fest@npm:^2.19.0": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: 6b4d846534e7bcb49a6160b068ffaed2b62570d989d909ac3f29df5ef1e993859f890a4242eebe023c9e923f96adbcb3b3e88a198c35a1ee9a731e147a6839c3 - languageName: node - linkType: hard - -"type-fest@npm:^0.18.0": - version: 0.18.1 - resolution: "type-fest@npm:0.18.1" - checksum: 303f5ecf40d03e1d5b635ce7660de3b33c18ed8ebc65d64920c02974d9e684c72483c23f9084587e9dd6466a2ece1da42ddc95b412a461794dd30baca95e2bac - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^0.4.1": - version: 0.4.1 - resolution: "type-fest@npm:0.4.1" - checksum: 2e65f43209492638244842f70d86e7325361c92dd1cc8e3bf5728c96b980305087fa5ba60652e9053d56c302ef4f1beb9652a91b72a50da0ea66c6b851f3b9cb - languageName: node - linkType: hard - -"type-fest@npm:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: 0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 - languageName: node - linkType: hard - -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 - languageName: node - linkType: hard - -"type-fest@npm:^3.0.0": - version: 3.11.0 - resolution: "type-fest@npm:3.11.0" - checksum: df9f3d38a0b133dc7d517b1eb690d8da90f14fd72ff068dc1a6b0c45b20df36ff390fcf23256d85a114b17ac234422161a1438abb68b3d6364462cfc2846558d +"type-fest@npm:^3.11.0": + version: 3.11.1 + resolution: "type-fest@npm:3.11.1" + checksum: 55c0ba11e8b494684bf63f76e762ac44a95a9243a873cfc03c97f909477938d4a80f0c6265bfae92074072305447428748726385bbf2be4484b8451d73c84881 languageName: node linkType: hard @@ -30249,12 +29567,12 @@ __metadata: linkType: hard "typescript@npm:^5.0.3, typescript@npm:^5.0.4": - version: 5.0.4 - resolution: "typescript@npm:5.0.4" + version: 5.1.3 + resolution: "typescript@npm:5.1.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 2f5bd1cead194905957cb34e220b1d6ff1662399adef8ec1864f74620922d860ee35b6e50eafb3b636ea6fd437195e454e1146cb630a4236b5095ed7617395c2 + checksum: 1faba8d5ffd4717864ddce767613c5ab77c1c8510c1ce21dc9b112a4c662357b9338dc0a6121615266d3a44ebec699f115ef2dabf18d9d7341ea1675692b9b24 languageName: node linkType: hard @@ -30279,12 +29597,12 @@ __metadata: linkType: hard "typescript@patch:typescript@^5.0.3#~builtin, typescript@patch:typescript@^5.0.4#~builtin": - version: 5.0.4 - resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=b5f058" + version: 5.1.3 + resolution: "typescript@patch:typescript@npm%3A5.1.3#~builtin::version=5.1.3&hash=77c9e2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c3f7b80577bddf6fab202a7925131ac733bfc414aec298c2404afcddc7a6f242cfa8395cf2d48192265052e11a7577c27f6e5fac8d8fe6a6602023c83d6b3292 + checksum: 6219383250b585b201c9ea10576164c9d5760c7a167bc761b118692c9fb8e88610f37730c0a1169d96ac19b29ed80418048763d0c1ff00ce48e051abbc213a9b languageName: node linkType: hard @@ -30329,13 +29647,6 @@ __metadata: languageName: node linkType: hard -"unfetch@npm:^4.2.0": - version: 4.2.0 - resolution: "unfetch@npm:4.2.0" - checksum: a5c0a896a6f09f278b868075aea65652ad185db30e827cb7df45826fe5ab850124bf9c44c4dafca4bf0c55a0844b17031e8243467fcc38dd7a7d435007151f1b - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -30477,15 +29788,6 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" - dependencies: - unique-slug: ^2.0.0 - checksum: d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 - languageName: node - linkType: hard - "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -30504,15 +29806,6 @@ __metadata: languageName: node linkType: hard -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" - dependencies: - imurmurhash: ^0.1.4 - checksum: 9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 - languageName: node - linkType: hard - "unique-slug@npm:^3.0.0": version: 3.0.0 resolution: "unique-slug@npm:3.0.0" @@ -30670,25 +29963,6 @@ __metadata: languageName: node linkType: hard -"universal-url@npm:^2.0.0": - version: 2.0.0 - resolution: "universal-url@npm:2.0.0" - dependencies: - hasurl: ^1.0.0 - whatwg-url: ^7.0.0 - checksum: 57a5f887676987650f9f2b62811159e2706645e6fbb2b5ed83d802d996310de1e39066478e6f4f11cc9ec4e92624dd0f943f950d9ecaac2763b2b22d2aac8ae0 - languageName: node - linkType: hard - -"universal-user-agent@npm:^4.0.0": - version: 4.0.1 - resolution: "universal-user-agent@npm:4.0.1" - dependencies: - os-name: ^3.1.0 - checksum: e590abd8decb36400d1a630da5957e61f0356492bf413e12f78c169cade915080b03dbfbe8fa62c557bd73413edc681de580ad84488565bf30a9d509fd1b311f - languageName: node - linkType: hard - "universal-user-agent@npm:^5.0.0": version: 5.0.0 resolution: "universal-user-agent@npm:5.0.0" @@ -30733,15 +30007,15 @@ __metadata: languageName: node linkType: hard -"unplugin@npm:^0.10.2": - version: 0.10.2 - resolution: "unplugin@npm:0.10.2" +"unplugin@npm:^1.3.1": + version: 1.3.1 + resolution: "unplugin@npm:1.3.1" dependencies: - acorn: ^8.8.0 + acorn: ^8.8.2 chokidar: ^3.5.3 webpack-sources: ^3.2.3 - webpack-virtual-modules: ^0.4.5 - checksum: 3e326b470df042af62c1ea1febe43b0681554663ad50257ad2ae14cf261740d0137570d97d2067ee3cdd6b819a4249f1aa3dff05a8c7476ad12715263b0b1ae8 + webpack-virtual-modules: ^0.5.0 + checksum: a4be4450979b4a3c36650fbd32e6f49abb7e08a9e6c15a706d3f7a218443a0f77f0ba45e1a8469e87679789205dbd0b679525b1e587b3f9ae3a22e4ceac82006 languageName: node linkType: hard @@ -30769,14 +30043,7 @@ __metadata: languageName: node linkType: hard -"upath@npm:^1.2.0": - version: 1.2.0 - resolution: "upath@npm:1.2.0" - checksum: 3746f24099bf69dbf8234cecb671e1016e1f6b26bd306de4ff8966fb0bc463fa1014ffc48646b375de1ab573660e3a0256f6f2a87218b2dfa1779a84ef6992fa - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.0.10": +"update-browserslist-db@npm:^1.0.10, update-browserslist-db@npm:^1.0.11": version: 1.0.11 resolution: "update-browserslist-db@npm:1.0.11" dependencies: @@ -30806,10 +30073,10 @@ __metadata: languageName: node linkType: hard -"url-join@npm:^2.0.5": - version: 2.0.5 - resolution: "url-join@npm:2.0.5" - checksum: 4551af5942417c98db5eb43d1eaae65686ddcb7b9374241e93eea2b74e9b7f069c8eb0eac405eea9db496e2a79d73a805e0b85d7ab0b6238d6d771cd926c0dde +"url-join@npm:^4.0.1": + version: 4.0.1 + resolution: "url-join@npm:4.0.1" + checksum: ac65e2c7c562d7b49b68edddcf55385d3e922bc1dd5d90419ea40b53b6de1607d1e45ceb71efb9d60da02c681d13c6cb3a1aa8b13fc0c989dfc219df97ee992d languageName: node linkType: hard @@ -31124,44 +30391,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:4.3.1": - version: 4.3.1 - resolution: "vite@npm:4.3.1" - dependencies: - esbuild: ^0.17.5 - fsevents: ~2.3.2 - postcss: ^8.4.21 - rollup: ^3.20.2 - peerDependencies: - "@types/node": ">= 14" - less: "*" - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: c9a9ccb0405b2d76c228b989d283a03962d00d2f48491b8b8492162fe7b1f130e77f842970badb691e669ea75e3a137e417ffeeeab0e6944179d71cbd74fa166 - languageName: node - linkType: hard - -"vite@npm:^4.0.0, vite@npm:^4.0.4": +"vite@npm:4.3.9, vite@npm:^4.0.0, vite@npm:^4.0.4": version: 4.3.9 resolution: "vite@npm:4.3.9" dependencies: @@ -31282,8 +30512,8 @@ __metadata: linkType: hard "vue-docgen-api@npm:^4.40.0, vue-docgen-api@npm:^4.44.23, vue-docgen-api@npm:^4.46.0": - version: 4.72.3 - resolution: "vue-docgen-api@npm:4.72.3" + version: 4.72.5 + resolution: "vue-docgen-api@npm:4.72.5" dependencies: "@babel/parser": ^7.21.4 "@babel/types": ^7.21.4 @@ -31296,7 +30526,7 @@ __metadata: recast: ^0.23.1 ts-map: ^1.0.3 vue-inbrowser-compiler-independent-utils: ^4.69.0 - checksum: f10a8d10503758042df82945a3309d5c6bdab479817f0f07d4aed0ec4ce8ddf5229378eb57cc4d8d1aa987daf41bc155b0e04583aa7d87bc35e5ed9c5dc834c6 + checksum: 67fde90f1f8eac12a63a1fc71bbc45ab58e608f462be959313ca9379e08367bf74a70fcb0ce0eb0bfa95084a1eeedb58e9a8e6c0823d8ad3afae523b82c99ed8 languageName: node linkType: hard @@ -31483,24 +30713,6 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: 7795b61fb51ce222414891eef8e6cb13240b62f64351b4474f99c84de2bc37d37dd0efa193f37391e9737097b881a111d1e003e3d7a9583693f8d5a858b02627 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^3.0.0": - version: 3.0.0 - resolution: "w3c-xmlserializer@npm:3.0.0" - dependencies: - xml-name-validator: ^4.0.0 - checksum: 8c455303ee2aec813f8688f4a1618b78d2fd90156a233c8ef60b853418a6b23f00fe86b680f7584f48d1c2348ee0677ad43be6fb6fcc032130cfda4de8c7188e - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^4.0.0": version: 4.0.0 resolution: "w3c-xmlserializer@npm:4.0.0" @@ -31510,18 +30722,18 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^5.2.1": - version: 5.3.0 - resolution: "wait-on@npm:5.3.0" +"wait-on@npm:^7.0.1": + version: 7.0.1 + resolution: "wait-on@npm:7.0.1" dependencies: - axios: ^0.21.1 - joi: ^17.3.0 + axios: ^0.27.2 + joi: ^17.7.0 lodash: ^4.17.21 - minimist: ^1.2.5 - rxjs: ^6.6.3 + minimist: ^1.2.7 + rxjs: ^7.8.0 bin: wait-on: bin/wait-on - checksum: 5ca740e3f2cf4f73ebd2787ff15f7b8d0ee99f188dd37aae0a7d116ae9837f04b8752e4306218aee5165ca4e37cfd3c5b114627748e465e46f8cd51af0da1790 + checksum: 2a9c56d26dac573e6bfd36e85d99f072021c23dc2c0faab900a411460b58e16982b96b018d9168c366040f56196314fa46f3d79ef19e3dc38f55824d5035f2ec languageName: node linkType: hard @@ -31626,6 +30838,13 @@ __metadata: languageName: node linkType: hard +"web-streams-polyfill@npm:^3.0.3": + version: 3.2.1 + resolution: "web-streams-polyfill@npm:3.2.1" + checksum: 70ed6b5708e14afa2ab699221ea197d7c68ec0c8274bbe0181aecc5ba636ca27cbd383d2049f0eb9d529e738f5c088825502b317f3df24d18a278e4cc9a10e8b + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -31633,13 +30852,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f - languageName: node - linkType: hard - "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -31647,24 +30859,6 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:*": - version: 6.1.1 - resolution: "webpack-dev-middleware@npm:6.1.1" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.12 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - checksum: f8f5b7f7591fa3e4d4008b28ab2b5c13367a24587257e3e37cff31e2d8a6c859de5294af83c79e8faf3137db194377f392fffacdf5010b5c1311eba6f9b71568 - languageName: node - linkType: hard - "webpack-dev-middleware@npm:6.0.2": version: 6.0.2 resolution: "webpack-dev-middleware@npm:6.0.2" @@ -31698,6 +30892,24 @@ __metadata: languageName: node linkType: hard +"webpack-dev-middleware@npm:^6.1.1": + version: 6.1.1 + resolution: "webpack-dev-middleware@npm:6.1.1" + dependencies: + colorette: ^2.0.10 + memfs: ^3.4.12 + mime-types: ^2.1.31 + range-parser: ^1.2.1 + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + checksum: f8f5b7f7591fa3e4d4008b28ab2b5c13367a24587257e3e37cff31e2d8a6c859de5294af83c79e8faf3137db194377f392fffacdf5010b5c1311eba6f9b71568 + languageName: node + linkType: hard + "webpack-dev-server@npm:4.13.2": version: 4.13.2 resolution: "webpack-dev-server@npm:4.13.2" @@ -31798,16 +31010,16 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.4.3, webpack-virtual-modules@npm:^0.4.5": - version: 0.4.6 - resolution: "webpack-virtual-modules@npm:0.4.6" - checksum: d3ecd680289e04f6fac70f09a682385b176303cfdc69ad08f11fce6fa031f9c054b3e728cb54967da48f051cd2ebe3f0d0d02bf78d3dfc8a3a9be91ea7544bbb +"webpack-virtual-modules@npm:^0.5.0": + version: 0.5.0 + resolution: "webpack-virtual-modules@npm:0.5.0" + checksum: 0742e069cd49d91ccd0b59431b3666903d321582c1b1062fa6bdae005c3538af55ff8787ea5eafbf72662f3496d3a879e2c705d55ca0af8283548a925be18484 languageName: node linkType: hard "webpack@npm:5, webpack@npm:^5, webpack@npm:^5.65.0": - version: 5.84.1 - resolution: "webpack@npm:5.84.1" + version: 5.86.0 + resolution: "webpack@npm:5.86.0" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -31838,7 +31050,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: e2a794997fb843889f09aa82be72dd07945a63cb9f4af7dbb8c486eb8d0fd3595db5adcc0e67936733cd766cc81127fe1563fd98f85134924cc584cea8a08959 + checksum: 138cd2f9d6ddd028ce7deec8958e9bc6092471c6514a3429a2383dcf9a33b4060b05de1337c461f1d3038b066f62198e5e820497f8f618441ec63108c83b8711 languageName: node linkType: hard @@ -31913,16 +31125,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^10.0.0": - version: 10.0.0 - resolution: "whatwg-url@npm:10.0.0" - dependencies: - tr46: ^3.0.0 - webidl-conversions: ^7.0.0 - checksum: 57f295913cbad3b8f7843168f30dde5ff0a875cbcf80f9cceb96276e296ba925f0455b2bfd55b6829eb3d770c6ebcac48abcc182826decb748c139dbe85d92e8 - languageName: node - linkType: hard - "whatwg-url@npm:^11.0.0": version: 11.0.0 resolution: "whatwg-url@npm:11.0.0" @@ -31943,17 +31145,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: ^4.7.0 - tr46: ^1.0.1 - webidl-conversions: ^4.0.2 - checksum: 2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -32277,6 +31468,13 @@ __metadata: languageName: node linkType: hard +"xcase@npm:^2.0.1": + version: 2.0.1 + resolution: "xcase@npm:2.0.1" + checksum: 11b8ae8f6734b29d442a5acf1dff3a896cabbf49e7ffa01472ff6fa687a6e6f6a25889d06c10a41950e7a90fe89239fa78d95eab0c5eb654ca75f0ccd71ba8ed + languageName: node + linkType: hard + "xdg-basedir@npm:^4.0.0": version: 4.0.0 resolution: "xdg-basedir@npm:4.0.0" @@ -32377,7 +31575,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.0.0, yaml@npm:^2.3.1": +"yaml@npm:^2.0.0, yaml@npm:^2.2.2, yaml@npm:^2.3.1": version: 2.3.1 resolution: "yaml@npm:2.3.1" checksum: ed4c21a907fb1cd60a25177612fa46d95064a144623d269199817908475fe85bef20fb17406e3bdc175351b6488056a6f84beb7836e8c262646546a0220188e3 diff --git a/docs/configure/babel.md b/docs/configure/babel.md index 440999cba4d5..84f6093b6a5b 100644 --- a/docs/configure/babel.md +++ b/docs/configure/babel.md @@ -6,7 +6,7 @@ As of version 7.0, Storybook now re-uses your project’s Babel configuration to
-If you're not using Storybook 7, please reference the previous documentation for guidance on configuring your Babel setup. +If you're not using Storybook 7, please reference the [previous documentation](../../../release-6-5/docs/configure/babel.md) for guidance on configuring your Babel setup.
@@ -115,6 +115,8 @@ However, when your Storybook refers to files outside of the current project dire ## Troubleshooting +### Babel configuration not working + To troubleshoot your Babel configuration, set the `BABEL_SHOW_CONFIG_FOR` environment variable. For example, to see how Storybook is transpiling your `.storybook/preview.js` file, add the following environment variable: ```sh @@ -130,3 +132,20 @@ When the command finishes running, it will display the available Babel configura
For more info, please refer to the [Babel documentation](https://babeljs.io/docs/en/configuration#print-effective-configs). + +### SWC fallback + +If you're working with a Webpack-based project and having issues with Babel configuration, you can opt into replacing Babel with the [SWC](https://swc.rs/) compiler. To do so, update your Storybook configuration file (e.g., `.storybook/main.js|ts`) to enable the experimental `useSWC` option: + + + + + + + +When Storybook loads, it will update Webpack's configuration including the required loaders (e.g., [`TerserPlugin`](https://webpack.js.org/plugins/terser-webpack-plugin/), [`babel-loader`](https://webpack.js.org/loaders/babel-loader/)) with SWC equivalents (e.g., [`swc-loader`](https://swc.rs/docs/usage/swc-loader)) for bundling and minification. diff --git a/docs/configure/overview.md b/docs/configure/overview.md index 57493ea78d83..2e01f9af5be6 100644 --- a/docs/configure/overview.md +++ b/docs/configure/overview.md @@ -56,6 +56,7 @@ Additionally, you can also provide additional feature flags to your Storybook co | `storyStoreV7` | Configures Storybook to load stories [on demand](#on-demand-story-loading), rather than during boot up
`features: { storyStoreV7: true }` | | `buildStoriesJson` | Generates a `stories.json` file to help story loading with the on-demand mode
`features: { buildStoriesJson: true }` | | `legacyMdx1` | Enables support for MDX version 1 as a fallback. Requires [`@storybook/mdx1-csf`](https://github.com/storybookjs/mdx1-csf)
`features: { legacyMdx1: true }` | +| `useSWC` | Enables experimental support for [SWC](https://swc.rs/) as a Babel alternative for Webpack-based projects
`builder: { useSWC: true }` | ## Configure story loading diff --git a/docs/snippets/common/storybook-enable-swc-loader.js.mdx b/docs/snippets/common/storybook-enable-swc-loader.js.mdx new file mode 100644 index 000000000000..757503657748 --- /dev/null +++ b/docs/snippets/common/storybook-enable-swc-loader.js.mdx @@ -0,0 +1,21 @@ +```js +// .storybook/main.js + +export default { + // Replace your-framework with the webpack-based framework you are using (e.g., react-webpack5) + framework: { + name: '@storybook/your-framework', + options: { + builder: { + useSWC: true, + }, + }, + }, + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + ], +}; +``` diff --git a/docs/snippets/common/storybook-enable-swc-loader.ts.mdx b/docs/snippets/common/storybook-enable-swc-loader.ts.mdx new file mode 100644 index 000000000000..8a47a512aa83 --- /dev/null +++ b/docs/snippets/common/storybook-enable-swc-loader.ts.mdx @@ -0,0 +1,25 @@ +```ts +// .storybook/main.ts + +// Replace your-framework with the webpack-based framework you are using (e.g., react-webpack5) +import type { StorybookConfig } from '@storybook/your-framework'; + +const config: StorybookConfig = { + framework: { + name: '@storybook/your-framework', + options: { + builder: { + useSWC: true, + }, + }, + }, + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + ], +}; + +export default config; +``` diff --git a/docs/writing-docs/mdx.md b/docs/writing-docs/mdx.md index 3da8f976b652..093a6c78cbc1 100644 --- a/docs/writing-docs/mdx.md +++ b/docs/writing-docs/mdx.md @@ -10,7 +10,7 @@ In addition, you can write pure documentation pages in MDX and add them to Story
-Writing stories directly in MDX was deprecated in Storybook 7. Please reference the previous documentation for guidance on that feature. +Writing stories directly in MDX was deprecated in Storybook 7. Please reference the [previous documentation](../../../release-6-5/docs/writing-docs/mdx.md) for guidance on that feature.
diff --git a/scripts/__mocks__/simple-git.js b/scripts/__mocks__/simple-git.js new file mode 100644 index 000000000000..89fa9f23c7b1 --- /dev/null +++ b/scripts/__mocks__/simple-git.js @@ -0,0 +1,18 @@ +/* eslint-disable no-underscore-dangle */ +const mod = jest.createMockFromModule('simple-git'); + +mod.__getRemotes = jest + .fn() + .mockReturnValue([{ name: 'origin', refs: { fetch: 'origin', push: 'origin' } }]); +mod.__fetch = jest.fn(); +mod.__revparse = jest.fn().mockResolvedValue('mockedGitCommitHash'); + +mod.simpleGit = () => { + return { + getRemotes: mod.__getRemotes, + fetch: mod.__fetch, + revparse: mod.__revparse, + }; +}; + +module.exports = mod; diff --git a/scripts/__mocks__/uuid.ts b/scripts/__mocks__/uuid.ts new file mode 100644 index 000000000000..bd6e08f5a6eb --- /dev/null +++ b/scripts/__mocks__/uuid.ts @@ -0,0 +1,8 @@ +const { v5 } = jest.requireActual('uuid'); + +let seed = 0; + +export const v4 = () => { + seed += 1; + return v5(seed.toString(), '6c7fda6d-f92f-4bd2-9d4d-da26a59196a6'); +}; diff --git a/scripts/dangerfile.ts b/scripts/dangerfile.ts index 8d04e2c28472..1d80df10e0da 100644 --- a/scripts/dangerfile.ts +++ b/scripts/dangerfile.ts @@ -49,7 +49,24 @@ const checkRequiredLabels = (labels: string[]) => { } }; +const checkPrTitle = (title: string) => { + const match = title.match(/^[A-Z].+:\s[A-Z].+$/); + if (!match) { + fail( + `PR title must be in the format of "Area: Summary", With both Area and Summary starting with a capital letter +Good examples: +- "Docs: Describe Canvas Doc Block" +- "Svelte: Support Svelte v4" +Bad examples: +- "add new api docs" +- "fix: Svelte 4 support" +- "Vue: improve docs"` + ); + } +}; + if (prLogConfig) { const { labels } = danger.github.issue; checkRequiredLabels(labels.map((l) => l.name)); + checkPrTitle(danger.github.pr.title); } diff --git a/scripts/package.json b/scripts/package.json index ce9c23e1428c..66b0b9f4742b 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -12,6 +12,19 @@ "lint:js:cmd": "cross-env NODE_ENV=production eslint --cache --cache-location=../.cache/eslint --ext .js,.jsx,.json,.html,.ts,.tsx,.mjs --report-unused-disable-directives", "lint:package": "sort-package-json", "migrate-docs": "node --require esbuild-register ./ts-to-ts49.ts", + "release:generate-pr-description": "ts-node --swc ./release/generate-pr-description.ts", + "release:get-changelog-from-file": "ts-node --swc ./release/get-changelog-from-file.ts", + "release:get-current-version": "ts-node --swc ./release/get-current-version.ts", + "release:get-version-changelog": "ts-node --swc ./release/get-version-changelog.ts", + "release:is-pr-frozen": "ts-node --swc ./release/is-pr-frozen.ts", + "release:is-prerelease": "ts-node --swc ./release/is-prerelease.ts", + "release:is-version-published": "ts-node --swc ./release/is-version-published.ts", + "release:label-patches": "ts-node --swc ./release/label-patches.ts", + "release:pick-patches": "ts-node --swc ./release/pick-patches.ts", + "release:publish": "ts-node --swc ./release/publish.ts", + "release:unreleased-changes-exists": "ts-node --swc ./release/unreleased-changes-exists.ts", + "release:version": "ts-node --swc ./release/version.ts", + "release:write-changelog": "ts-node --swc ./release/write-changelog.ts", "strict-ts": "node --require esbuild-register ./strict-ts.ts", "task": "ts-node --swc ./task.ts", "test": "jest --config ./jest.config.js", @@ -36,9 +49,11 @@ "@typescript-eslint/parser": "^5.45.0", "esbuild": "^0.16.4", "eslint": "^8.28.0", - "serialize-javascript": "^3.1.0" + "serialize-javascript": "^3.1.0", + "type-fest": "^3.11.0" }, "dependencies": { + "@actions/core": "^1.10.0", "@babel/core": "^7.22.0", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.22.0", @@ -52,8 +67,8 @@ "@babel/types": "^7.22.0", "@emotion/jest": "^11.10.5", "@jest/globals": "^29.3.1", - "@linear/sdk": "^1.22.0", "@nx/workspace": "16.2.1", + "@octokit/graphql": "^5.0.5", "@storybook/eslint-config-storybook": "^3.1.2", "@storybook/jest": "future", "@storybook/linter-config": "^3.1.2", @@ -63,6 +78,7 @@ "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.2", "@testing-library/user-event": "^13.2.1", + "@types/cross-spawn": "^6.0.2", "@types/detect-port": "^1.3.2", "@types/ejs": "^3.1.1", "@types/escodegen": "^0.0.6", @@ -76,10 +92,11 @@ "@types/react-dom": "^16.9.17", "@types/semver": "^7.3.4", "@types/serve-static": "^1.13.8", - "@types/shelljs": "^0.8.7", + "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/experimental-utils": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "ansi-regex": "^5.0.0", "babel-eslint": "^10.1.0", "babel-loader": "^9.1.2", "boxen": "^5.1.2", @@ -88,7 +105,8 @@ "commander": "^6.2.1", "cross-env": "^7.0.3", "cross-spawn": "^7.0.3", - "danger": "^10.6.2", + "danger": "^11.2.6", + "dataloader": "^2.2.2", "detect-port": "^1.3.0", "ejs": "^3.1.8", "ejs-lint": "^2.0.0", @@ -103,18 +121,20 @@ "express": "^4.17.3", "fast-glob": "^3.2.12", "find-up": "^5.0.0", - "fs-extra": "^10.1.0", + "fs-extra": "^11.1.0", "github-release-from-changelog": "^2.1.1", "glob": "^10.0.0", - "http-server": "^0.12.3", + "http-server": "^14.1.1", "husky": "^4.3.7", "jest": "^29.3.1", "jest-environment-jsdom": "^29.3.1", "jest-image-snapshot": "^6.0.0", "jest-junit": "^14.0.1", + "jest-mock-extended": "^3.0.4", "jest-os-detection": "^1.3.1", "jest-serializer-html": "^7.1.0", "jest-watch-typeahead": "^2.2.1", + "json5": "^2.2.3", "junit-xml": "^1.2.0", "lint-staged": "^10.5.4", "lodash": "^4.17.21", @@ -124,7 +144,9 @@ "npmlog": "^5.0.1", "nx": "16.2.1", "nx-cloud": "16.0.5", + "ora": "^5.4.1", "p-limit": "^3.1.0", + "p-retry": "^5.1.2", "prettier": "^2.8.0", "pretty-hrtime": "^1.0.0", "process": "^0.11.10", @@ -139,19 +161,21 @@ "remark-preset-lint-recommended": "^5.0.0", "semver": "^7.3.7", "serve-static": "^1.14.1", - "shelljs": "^0.8.5", + "simple-git": "^3.18.0", "slash": "^3.0.0", - "sort-package-json": "^1.48.1", + "sort-package-json": "^2.0.0", "tempy": "^1.0.0", "trash": "^7.0.0", "ts-dedent": "^2.0.0", "ts-node": "^10.9.1", "tsup": "^6.7.0", - "type-fest": "^3.4.0", + "type-fest": "^3.11.0", "typescript": "5.0.4", "util": "^0.12.4", - "wait-on": "^5.2.1", + "uuid": "^9.0.0", + "wait-on": "^7.0.1", "window-size": "^1.1.1", + "zod": "^3.21.4", "zx": "^7.0.3" }, "optionalDependencies": { diff --git a/scripts/release/__tests__/generate-pr-description.test.ts b/scripts/release/__tests__/generate-pr-description.test.ts new file mode 100644 index 000000000000..d4858a30c70a --- /dev/null +++ b/scripts/release/__tests__/generate-pr-description.test.ts @@ -0,0 +1,391 @@ +import { + generateReleaseDescription, + generateNonReleaseDescription, + mapToChangelist, + mapCherryPicksToTodo, +} from '../generate-pr-description'; +import type { Change } from '../utils/get-changes'; + +describe('Generate PR Description', () => { + const changes: Change[] = [ + { + user: 'JReinhold', + title: 'Some PR title for a bug', + labels: ['bug', 'build', 'other label', 'patch'], + commit: 'abc123', + pull: '42', + links: { + commit: '[abc123](https://github.com/storybookjs/storybook/commit/abc123)', + pull: '[#42](https://github.com/storybookjs/storybook/pull/42)', + user: '[@JReinhold](https://github.com/JReinhold)', + }, + }, + { + // this Bump version commit should be ignored + user: 'github-actions[bot]', + pull: null, + commit: '012b58140c3606efeacbe99c0c410624b0a1ed1f', + title: 'Bump version on `next`: preminor (alpha) from 7.2.0 to 7.3.0-alpha.0', + labels: null, + links: { + commit: + '[`012b58140c3606efeacbe99c0c410624b0a1ed1f`](https://github.com/storybookjs/storybook/commit/012b58140c3606efeacbe99c0c410624b0a1ed1f)', + pull: null, + user: '[@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)', + }, + }, + { + user: 'shilman', + title: 'Some title for a "direct commit"', + labels: null, + commit: '22bb11', + pull: null, + links: { + commit: '[22bb11](https://github.com/storybookjs/storybook/commit/22bb11)', + pull: null, + user: '[@shilman](https://github.com/shilman)', + }, + }, + { + user: 'shilman', + title: 'Another PR `title` for docs', + labels: ['another label', 'documentation', 'patch'], + commit: 'ddd222', + pull: '11', + links: { + commit: '[ddd222](https://github.com/storybookjs/storybook/commit/ddd222)', + pull: '[#11](https://github.com/storybookjs/storybook/pull/11)', + user: '[@shilman](https://github.com/shilman)', + }, + }, + { + user: 'JReinhold', + title: "Some PR title for a 'new' feature", + labels: ['feature request', 'other label'], + commit: 'wow1337', + pull: '48', + links: { + commit: '[wow1337](https://github.com/storybookjs/storybook/commit/wow1337)', + pull: '[#48](https://github.com/storybookjs/storybook/pull/48)', + user: '[@JReinhold](https://github.com/JReinhold)', + }, + }, + { + user: 'JReinhold', + title: 'Some PR title with a missing label', + labels: ['incorrect label', 'other label'], + commit: 'bad999', + pull: '77', + links: { + commit: '[bad999](https://github.com/storybookjs/storybook/commit/bad999)', + pull: '[#77](https://github.com/storybookjs/storybook/pull/77)', + user: '[@JReinhold](https://github.com/JReinhold)', + }, + }, + ]; + describe('mapToChangelist', () => { + it('should return a correct string for releases', () => { + expect(mapToChangelist({ changes, isRelease: true })).toMatchInlineSnapshot(` + "- **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Direct commit**: Some title for a "direct commit" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - [ ] The change is appropriate for the version bump + - **📝 Documentation**: Another PR \`title\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **✨ Feature Request**: Some PR title for a 'new' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **❔ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct" + `); + }); + it('should return a correct string for non-releases', () => { + expect(mapToChangelist({ changes, isRelease: false })).toMatchInlineSnapshot(` + "- **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - **⚠️ Direct commit**: Some title for a "direct commit" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - **📝 Documentation**: Another PR \`title\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - **✨ Feature Request**: Some PR title for a 'new' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - **❔ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77)" + `); + }); + }); + + describe('mapCherryPicksToTodo', () => { + it('should return a correct string for releases', () => { + expect(mapCherryPicksToTodo({ changes, commits: ['abc123'] })).toMatchInlineSnapshot(` + "## 🍒 Manual cherry picking needed! + + The following pull requests could not be cherry-picked automatically because it resulted in merge conflicts. + For each pull request below, you need to either manually cherry pick it, or discard it by removing the "patch" label from the PR and re-generate this PR. + + - [ ] [#42](https://github.com/storybookjs/storybook/pull/42): \`git cherry-pick -m1 -x abc123\`" + `); + }); + }); + + describe('description generator', () => { + const changeList = `- **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) +\t- [ ] The change is appropriate for the version bump +\t- [ ] The PR is labeled correctly +\t- [ ] The PR title is correct +- **⚠️ Direct commit**: Some title for a \\"direct commit\\" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) +\t- [ ] The change is appropriate for the version bump +- **📝 Documentation**: Another PR \\\`title\\\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) +\t- [ ] The change is appropriate for the version bump +\t- [ ] The PR is labeled correctly +\t- [ ] The PR title is correct +- **✨ Feature Request**: Some PR title for a \\'new\\' feature [#48](https://github.com/storybookjs/storybook/pull/48) +\t- [ ] The change is appropriate for the version bump +\t- [ ] The PR is labeled correctly +\t- [ ] The PR title is correct +- **⚠️ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) +\t- [ ] The change is appropriate for the version bump +\t- [ ] The PR is labeled correctly +\t- [ ] The PR title is correct`; + + const manualCherryPicks = `## 🍒 Manual cherry picking needed! + +The following pull requests could not be cherry-picked automatically because it resulted in merge conflicts. +For each pull request below, you need to either manually cherry pick it, or discard it by removing the "patch" label from the PR and re-generate this PR. + +- [ ] [#42](https://github.com/storybookjs/storybook/pull/42): \`git cherry-pick -m1 -x abc123\``; + + it('should return a correct string with cherry picks for releases', () => { + const changelogText = `## 7.1.0-alpha.11 + +- Some PR \`title\` for a bug [#42](https://github.com/storybookjs/storybook/pull/42), thanks [@JReinhold](https://github.com/JReinhold) +- Some PR 'title' for a feature request [#48](https://github.com/storybookjs/storybook/pull/48), thanks [@JReinhold](https://github.com/JReinhold) +- Antoher PR "title" for maintainance [#49](https://github.com/storybookjs/storybook/pull/49), thanks [@JReinhold](https://github.com/JReinhold)`; + expect( + generateReleaseDescription({ + currentVersion: '7.1.0-alpha.10', + nextVersion: '7.1.0-alpha.11', + changeList, + changelogText, + manualCherryPicks, + }) + ).toMatchInlineSnapshot(` + "This is an automated pull request that bumps the version from \\\`7.1.0-alpha.10\\\` to \\\`7.1.0-alpha.11\\\`. + Once this pull request is merged, it will trigger a new release of version \\\`7.1.0-alpha.11\\\`. + If you\\'re not a core maintainer with permissions to release you can ignore this pull request. + + ## To do + + Before merging the PR, there are a few QA steps to go through: + + - [ ] Add the \\"freeze\\" label to this PR, to ensure it doesn\\'t get automatically forced pushed by new changes. + + And for each change below: + + 1. Ensure the change is appropriate for the version bump. E.g. patch release should only contain patches, not new or de-stabilizing features. If a change is not appropriate, revert the PR. + 2. Ensure the PR is labeled correctly with \\"BREAKING CHANGE\\", \\"feature request\\", \\"maintainance\\", \\"bug\\", \\"build\\" or \\"documentation\\". + 3. Ensure the PR title is correct, and follows the format \\"[Area]: [Summary]\\", e.g. *\\"React: Fix hooks in CSF3 render functions\\"*. If it is not correct, change the title in the PR. + - Areas include: React, Vue, Core, Docs, Controls, etc. + - First word of summary indicates the type: “Add”, “Fix”, “Upgrade”, etc. + - The entire title should fit on a line + + This is a list of all the PRs merged and commits pushed directly to \\\`next\\\`, that will be part of this release: + + - **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Direct commit**: Some title for a \\\\"direct commit\\\\" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - [ ] The change is appropriate for the version bump + - **📝 Documentation**: Another PR \\\\\`title\\\\\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **✨ Feature Request**: Some PR title for a \\\\'new\\\\' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + + ## 🍒 Manual cherry picking needed! + + The following pull requests could not be cherry-picked automatically because it resulted in merge conflicts. + For each pull request below, you need to either manually cherry pick it, or discard it by removing the \\"patch\\" label from the PR and re-generate this PR. + + - [ ] [#42](https://github.com/storybookjs/storybook/pull/42): \\\`git cherry-pick -m1 -x abc123\\\` + + If you\\'ve made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. It will wipe your progress in this to do, which is expected. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Follow the publish workflow run and see it finishes succesfully](https://github.com/storybookjs/storybook/actions/workflows/publish.yml) + + --- + + # Generated changelog + + ## 7.1.0-alpha.11 + + - Some PR \\\`title\\\` for a bug [#42](https://github.com/storybookjs/storybook/pull/42), thanks [@ JReinhold](https://github.com/JReinhold) + - Some PR \\'title\\' for a feature request [#48](https://github.com/storybookjs/storybook/pull/48), thanks [@ JReinhold](https://github.com/JReinhold) + - Antoher PR \\"title\\" for maintainance [#49](https://github.com/storybookjs/storybook/pull/49), thanks [@ JReinhold](https://github.com/JReinhold)" + `); + }); + + it('should return a correct string for non-releases with cherry picks', () => { + expect(generateNonReleaseDescription(changeList, manualCherryPicks)).toMatchInlineSnapshot(` + "This is an automated pull request. None of the changes requires a version bump, they are only internal or documentation related. Merging this PR will not trigger a new release, but documentation will be updated. + If you\\'re not a core maintainer with permissions to release you can ignore this pull request. + + This is a list of all the PRs merged and commits pushed directly to \\\`next\\\` since the last release: + + - **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Direct commit**: Some title for a \\\\"direct commit\\\\" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - [ ] The change is appropriate for the version bump + - **📝 Documentation**: Another PR \\\\\`title\\\\\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **✨ Feature Request**: Some PR title for a \\\\'new\\\\' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + + ## 🍒 Manual cherry picking needed! + + The following pull requests could not be cherry-picked automatically because it resulted in merge conflicts. + For each pull request below, you need to either manually cherry pick it, or discard it by removing the \\"patch\\" label from the PR and re-generate this PR. + + - [ ] [#42](https://github.com/storybookjs/storybook/pull/42): \\\`git cherry-pick -m1 -x abc123\\\` + + If you\\'ve made any changes (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Approve the publish workflow run](https://github.com/storybookjs/storybook/actions/workflows/publish.yml)" + `); + }); + + it('should return a correct string without cherry picks for releases', () => { + const changelogText = `## 7.1.0-alpha.11 + +- Some PR \`title\` for a bug [#42](https://github.com/storybookjs/storybook/pull/42), thanks [@JReinhold](https://github.com/JReinhold) +- Some PR 'title' for a feature request [#48](https://github.com/storybookjs/storybook/pull/48), thanks [@JReinhold](https://github.com/JReinhold) +- Antoher PR "title" for maintainance [#49](https://github.com/storybookjs/storybook/pull/49), thanks [@JReinhold](https://github.com/JReinhold)`; + expect( + generateReleaseDescription({ + currentVersion: '7.1.0-alpha.10', + nextVersion: '7.1.0-alpha.11', + changeList, + changelogText, + }) + ).toMatchInlineSnapshot(` + "This is an automated pull request that bumps the version from \\\`7.1.0-alpha.10\\\` to \\\`7.1.0-alpha.11\\\`. + Once this pull request is merged, it will trigger a new release of version \\\`7.1.0-alpha.11\\\`. + If you\\'re not a core maintainer with permissions to release you can ignore this pull request. + + ## To do + + Before merging the PR, there are a few QA steps to go through: + + - [ ] Add the \\"freeze\\" label to this PR, to ensure it doesn\\'t get automatically forced pushed by new changes. + + And for each change below: + + 1. Ensure the change is appropriate for the version bump. E.g. patch release should only contain patches, not new or de-stabilizing features. If a change is not appropriate, revert the PR. + 2. Ensure the PR is labeled correctly with \\"BREAKING CHANGE\\", \\"feature request\\", \\"maintainance\\", \\"bug\\", \\"build\\" or \\"documentation\\". + 3. Ensure the PR title is correct, and follows the format \\"[Area]: [Summary]\\", e.g. *\\"React: Fix hooks in CSF3 render functions\\"*. If it is not correct, change the title in the PR. + - Areas include: React, Vue, Core, Docs, Controls, etc. + - First word of summary indicates the type: “Add”, “Fix”, “Upgrade”, etc. + - The entire title should fit on a line + + This is a list of all the PRs merged and commits pushed directly to \\\`next\\\`, that will be part of this release: + + - **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Direct commit**: Some title for a \\\\"direct commit\\\\" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - [ ] The change is appropriate for the version bump + - **📝 Documentation**: Another PR \\\\\`title\\\\\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **✨ Feature Request**: Some PR title for a \\\\'new\\\\' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + + + + If you\\'ve made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. It will wipe your progress in this to do, which is expected. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Follow the publish workflow run and see it finishes succesfully](https://github.com/storybookjs/storybook/actions/workflows/publish.yml) + + --- + + # Generated changelog + + ## 7.1.0-alpha.11 + + - Some PR \\\`title\\\` for a bug [#42](https://github.com/storybookjs/storybook/pull/42), thanks [@ JReinhold](https://github.com/JReinhold) + - Some PR \\'title\\' for a feature request [#48](https://github.com/storybookjs/storybook/pull/48), thanks [@ JReinhold](https://github.com/JReinhold) + - Antoher PR \\"title\\" for maintainance [#49](https://github.com/storybookjs/storybook/pull/49), thanks [@ JReinhold](https://github.com/JReinhold)" + `); + }); + + it('should return a correct string for non-releases without cherry picks', () => { + expect(generateNonReleaseDescription(changeList)).toMatchInlineSnapshot(` + "This is an automated pull request. None of the changes requires a version bump, they are only internal or documentation related. Merging this PR will not trigger a new release, but documentation will be updated. + If you\\'re not a core maintainer with permissions to release you can ignore this pull request. + + This is a list of all the PRs merged and commits pushed directly to \\\`next\\\` since the last release: + + - **🐛 Bug**: Some PR title for a bug [#42](https://github.com/storybookjs/storybook/pull/42) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Direct commit**: Some title for a \\\\"direct commit\\\\" [22bb11](https://github.com/storybookjs/storybook/commit/22bb11) + - [ ] The change is appropriate for the version bump + - **📝 Documentation**: Another PR \\\\\`title\\\\\` for docs [#11](https://github.com/storybookjs/storybook/pull/11) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **✨ Feature Request**: Some PR title for a \\\\'new\\\\' feature [#48](https://github.com/storybookjs/storybook/pull/48) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + - **⚠️ Missing Label**: Some PR title with a missing label [#77](https://github.com/storybookjs/storybook/pull/77) + - [ ] The change is appropriate for the version bump + - [ ] The PR is labeled correctly + - [ ] The PR title is correct + + + + If you\\'ve made any changes (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Approve the publish workflow run](https://github.com/storybookjs/storybook/actions/workflows/publish.yml)" + `); + }); + }); +}); diff --git a/scripts/release/__tests__/is-pr-frozen.test.ts b/scripts/release/__tests__/is-pr-frozen.test.ts new file mode 100644 index 000000000000..9c2ce713fb0a --- /dev/null +++ b/scripts/release/__tests__/is-pr-frozen.test.ts @@ -0,0 +1,61 @@ +/* eslint-disable no-underscore-dangle */ +/* eslint-disable global-require */ +import path from 'path'; +import { run as isPrFrozen } from '../is-pr-frozen'; + +// eslint-disable-next-line jest/no-mocks-import +jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); +jest.mock('../utils/get-github-info'); + +const fsExtra = require('fs-extra'); +const simpleGit = require('simple-git'); +const { getPullInfoFromCommit } = require('../utils/get-github-info'); + +const CODE_DIR_PATH = path.join(__dirname, '..', '..', '..', 'code'); +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + +fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), +}); + +describe('isPrFrozen', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should return true when PR is frozen', async () => { + getPullInfoFromCommit.mockResolvedValue({ + labels: ['freeze'], + }); + await expect(isPrFrozen({ patch: false })).resolves.toBe(true); + }); + + it('should return false when PR is not frozen', async () => { + getPullInfoFromCommit.mockResolvedValue({ + labels: [], + }); + await expect(isPrFrozen({ patch: false })).resolves.toBe(false); + }); + + it('should look for patch PRs when patch is true', async () => { + getPullInfoFromCommit.mockResolvedValue({ + labels: [], + }); + await isPrFrozen({ patch: true }); + + expect(simpleGit.__fetch).toHaveBeenCalledWith('origin', 'version-from-patch-1.0.0', { + '--depth': 1, + }); + }); + + it('should look for prerelease PRs when patch is false', async () => { + getPullInfoFromCommit.mockResolvedValue({ + labels: [], + }); + await isPrFrozen({ patch: false }); + + expect(simpleGit.__fetch).toHaveBeenCalledWith('origin', 'version-from-prerelease-1.0.0', { + '--depth': 1, + }); + }); +}); diff --git a/scripts/release/__tests__/label-patches.test.ts b/scripts/release/__tests__/label-patches.test.ts new file mode 100644 index 000000000000..31203529a0ca --- /dev/null +++ b/scripts/release/__tests__/label-patches.test.ts @@ -0,0 +1,133 @@ +import type { LogResult } from 'simple-git'; +import ansiRegex from 'ansi-regex'; +import { run } from '../label-patches'; +import * as gitClient_ from '../utils/git-client'; +import * as githubInfo_ from '../utils/get-github-info'; +import * as github_ from '../utils/github-client'; + +jest.mock('uuid'); +jest.mock('../utils/get-github-info'); +jest.mock('../utils/github-client'); +jest.mock('../utils/git-client', () => jest.requireActual('jest-mock-extended').mockDeep()); + +const gitClient = jest.mocked(gitClient_); +const github = jest.mocked(github_); +const githubInfo = jest.mocked(githubInfo_); + +const remoteMock = [ + { + name: 'origin', + refs: { + fetch: 'https://github.com/storybookjs/storybook.git', + push: 'https://github.com/storybookjs/storybook.git', + }, + }, +]; + +const gitLogMock: LogResult = { + all: [ + { + hash: 'some-hash', + date: '2023-06-07T09:45:11+02:00', + message: 'Something else', + refs: 'HEAD -> main', + body: '', + author_name: 'Jeppe Reinhold', + author_email: 'jeppe@chromatic.com', + }, + { + hash: 'b75879c4d3d72f7830e9c5fca9f75a303ddb194d', + date: '2023-06-07T09:45:11+02:00', + message: 'Merge pull request #55 from storybookjs/fixes', + refs: 'HEAD -> main', + body: + 'Legal: Fix license\n' + + '(cherry picked from commit 930b47f011f750c44a1782267d698ccdd3c04da3)\n', + author_name: 'Jeppe Reinhold', + author_email: 'jeppe@chromatic.com', + }, + ], + latest: null!, + total: 1, +}; + +const pullInfoMock = { + user: 'JReinhold', + id: 'pr_id', + pull: 55, + commit: '930b47f011f750c44a1782267d698ccdd3c04da3', + title: 'Legal: Fix license', + labels: ['documentation', 'patch', 'picked'], + links: { + commit: + '[`930b47f011f750c44a1782267d698ccdd3c04da3`](https://github.com/storybookjs/storybook/commit/930b47f011f750c44a1782267d698ccdd3c04da3)', + pull: '[#55](https://github.com/storybookjs/storybook/pull/55)', + user: '[@JReinhold](https://github.com/JReinhold)', + }, +}; + +beforeEach(() => { + // mock IO + jest.clearAllMocks(); + gitClient.getLatestTag.mockResolvedValue('v7.2.1'); + gitClient.git.log.mockResolvedValue(gitLogMock); + gitClient.git.getRemotes.mockResolvedValue(remoteMock); + githubInfo.getPullInfoFromCommit.mockResolvedValue(pullInfoMock); + github.getLabelIds.mockResolvedValue({ picked: 'pick-id' }); +}); + +test('it should fail early when no GH_TOKEN is set', async () => { + delete process.env.GH_TOKEN; + await expect(run({})).rejects.toThrowErrorMatchingInlineSnapshot( + `"GH_TOKEN environment variable must be set, exiting."` + ); +}); + +test('it should label the PR associated with cheery picks in the current branch', async () => { + process.env.GH_TOKEN = 'MY_SECRET'; + + const writeStderr = jest.spyOn(process.stderr, 'write').mockImplementation(); + + await run({}); + expect(github.githubGraphQlClient.mock.calls).toMatchInlineSnapshot(` + [ + [ + " + mutation ($input: AddLabelsToLabelableInput!) { + addLabelsToLabelable(input: $input) { + clientMutationId + } + } + ", + { + "input": { + "clientMutationId": "7efda802-d7d1-5d76-97d6-cc16a9f3e357", + "labelIds": [ + "pick-id", + ], + "labelableId": "pr_id", + }, + }, + ], + ] + `); + + expect.addSnapshotSerializer({ + serialize: (value) => { + const stripAnsi = value.map((it: string) => it.replace(ansiRegex(), '')); + return JSON.stringify(stripAnsi, null, 2); + }, + test: () => true, + }); + + expect(writeStderr.mock.calls.map(([text]) => text)).toMatchInlineSnapshot(` + [ + "- Looking for latest tag\\n", + "✔ Found latest tag: v7.2.1\\n", + "- Looking at cherry pick commits since v7.2.1\\n", + "✔ Found the following picks 🍒:\\n Commit: 930b47f011f750c44a1782267d698ccdd3c04da3\\n PR: [#55](https://github.com/storybookjs/storybook/pull/55)\\n", + "- Labeling the PRs with the picked label...\\n", + "✔ Successfully labeled all PRs with the picked label.\\n" + ] + `); +}); diff --git a/scripts/release/__tests__/version.test.ts b/scripts/release/__tests__/version.test.ts new file mode 100644 index 000000000000..c33c5fc31b8b --- /dev/null +++ b/scripts/release/__tests__/version.test.ts @@ -0,0 +1,234 @@ +/* eslint-disable global-require */ +/* eslint-disable no-underscore-dangle */ +import path from 'path'; +import { run as version } from '../version'; + +// eslint-disable-next-line jest/no-mocks-import +jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); +const fsExtra = require('fs-extra'); + +jest.mock('../../../code/lib/cli/src/versions', () => ({ + '@storybook/addon-a11y': '7.1.0-alpha.29', +})); + +jest.mock('../../utils/exec'); +const { execaCommand } = require('../../utils/exec'); + +jest.mock('../../utils/workspace', () => ({ + getWorkspaces: jest.fn().mockResolvedValue([ + { + name: '@storybook/addon-a11y', + location: 'addons/a11y', + }, + ]), +})); + +jest.spyOn(console, 'log').mockImplementation(() => {}); +jest.spyOn(console, 'warn').mockImplementation(() => {}); +jest.spyOn(console, 'error').mockImplementation(() => {}); + +beforeEach(() => { + jest.clearAllMocks(); +}); + +describe('Version', () => { + const CODE_DIR_PATH = path.join(__dirname, '..', '..', '..', 'code'); + const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + const MANAGER_API_VERSION_PATH = path.join( + CODE_DIR_PATH, + 'lib', + 'manager-api', + 'src', + 'version.ts' + ); + const VERSIONS_PATH = path.join(CODE_DIR_PATH, 'lib', 'cli', 'src', 'versions.ts'); + const A11Y_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'addons', 'a11y', 'package.json'); + + it('should throw when release type is invalid', async () => { + fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), + [MANAGER_API_VERSION_PATH]: `export const version = "1.0.0";`, + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "1.0.0" };`, + }); + + await expect(version({ releaseType: 'invalid' })).rejects.toThrowErrorMatchingInlineSnapshot(` + "[ + { + "received": "invalid", + "code": "invalid_enum_value", + "options": [ + "major", + "minor", + "patch", + "prerelease", + "premajor", + "preminor", + "prepatch" + ], + "path": [ + "releaseType" + ], + "message": "Invalid enum value. Expected 'major' | 'minor' | 'patch' | 'prerelease' | 'premajor' | 'preminor' | 'prepatch', received 'invalid'" + } + ]" + `); + }); + + it('should throw when prerelease identifier is combined with non-pre release type', async () => { + fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), + [MANAGER_API_VERSION_PATH]: `export const version = "1.0.0";`, + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "1.0.0" };`, + }); + + await expect(version({ releaseType: 'major', preId: 'alpha' })).rejects + .toThrowErrorMatchingInlineSnapshot(` + "[ + { + "code": "custom", + "message": "Using prerelease identifier requires one of release types: premajor, preminor, prepatch, prerelease", + "path": [] + } + ]" + `); + }); + + it('should throw when exact is combined with release type', async () => { + fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), + [MANAGER_API_VERSION_PATH]: `export const version = "1.0.0";`, + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "1.0.0" };`, + }); + + await expect(version({ releaseType: 'major', exact: '1.0.0' })).rejects + .toThrowErrorMatchingInlineSnapshot(` + "[ + { + "code": "custom", + "message": "Combining --exact with --release-type is invalid, but having one of them is required", + "path": [] + } + ]" + `); + }); + + it('should throw when exact is invalid semver', async () => { + fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), + [MANAGER_API_VERSION_PATH]: `export const version = "1.0.0";`, + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "1.0.0" };`, + }); + + await expect(version({ exact: 'not-semver' })).rejects.toThrowErrorMatchingInlineSnapshot(` + "[ + { + "code": "custom", + "message": "--exact version has to be a valid semver string", + "path": [ + "exact" + ] + } + ]" + `); + }); + + it.each([ + // prettier-ignore + { releaseType: 'major', currentVersion: '1.1.1', expectedVersion: '2.0.0' }, + // prettier-ignore + { releaseType: 'minor', currentVersion: '1.1.1', expectedVersion: '1.2.0' }, + // prettier-ignore + { releaseType: 'patch', currentVersion: '1.1.1', expectedVersion: '1.1.2' }, + // prettier-ignore + { releaseType: 'premajor', preId: 'alpha', currentVersion: '1.1.1', expectedVersion: '2.0.0-alpha.0' }, + // prettier-ignore + { releaseType: 'preminor', preId: 'alpha', currentVersion: '1.1.1', expectedVersion: '1.2.0-alpha.0' }, + // prettier-ignore + { releaseType: 'prepatch', preId: 'alpha', currentVersion: '1.1.1', expectedVersion: '1.1.2-alpha.0' }, + // prettier-ignore + { releaseType: 'prerelease', currentVersion: '1.1.1-alpha.5', expectedVersion: '1.1.1-alpha.6' }, + // prettier-ignore + { releaseType: 'prerelease', preId: 'alpha', currentVersion: '1.1.1-alpha.5', expectedVersion: '1.1.1-alpha.6' }, + // prettier-ignore + { releaseType: 'prerelease', preId: 'beta', currentVersion: '1.1.1-alpha.10', expectedVersion: '1.1.1-beta.0' }, + // prettier-ignore + { releaseType: 'major', currentVersion: '1.1.1-rc.10', expectedVersion: '2.0.0' }, + // prettier-ignore + { releaseType: 'minor', currentVersion: '1.1.1-rc.10', expectedVersion: '1.2.0' }, + // prettier-ignore + { releaseType: 'patch', currentVersion: '1.1.1-rc.10', expectedVersion: '1.1.1' }, + // prettier-ignore + { exact: '4.2.0-canary.69', currentVersion: '1.1.1-rc.10', expectedVersion: '4.2.0-canary.69' }, + ])( + 'bump with type: "$releaseType", pre id "$preId" or exact "$exact", from: $currentVersion, to: $expectedVersion', + async ({ releaseType, preId, exact, currentVersion, expectedVersion }) => { + fsExtra.__setMockFiles({ + [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: currentVersion }), + [MANAGER_API_VERSION_PATH]: `export const version = "${currentVersion}";`, + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "${currentVersion}" };`, + [A11Y_PACKAGE_JSON_PATH]: JSON.stringify({ + version: currentVersion, + dependencies: { + '@storybook/core-server': currentVersion, + 'unrelated-package-a': '1.0.0', + }, + devDependencies: { + 'unrelated-package-b': currentVersion, + '@storybook/core-common': `^${currentVersion}`, + }, + peerDependencies: { + '@storybook/preview-api': `*`, + '@storybook/svelte': '0.1.1', + '@storybook/manager-api': `~${currentVersion}`, + }, + }), + [VERSIONS_PATH]: `export default { "@storybook/addon-a11y": "${currentVersion}" };`, + }); + + await version({ releaseType, preId, exact }); + + expect(fsExtra.writeJson).toHaveBeenCalledWith( + CODE_PACKAGE_JSON_PATH, + { version: expectedVersion }, + { spaces: 2 } + ); + expect(fsExtra.writeFile).toHaveBeenCalledWith( + MANAGER_API_VERSION_PATH, + `export const version = "${expectedVersion}";` + ); + expect(fsExtra.writeFile).toHaveBeenCalledWith( + VERSIONS_PATH, + `export default { "@storybook/addon-a11y": "${expectedVersion}" };` + ); + expect(fsExtra.writeJson).toHaveBeenCalledWith( + A11Y_PACKAGE_JSON_PATH, + expect.objectContaining({ + // should update package version + version: expectedVersion, + dependencies: { + // should update storybook dependencies matching current version + '@storybook/core-server': expectedVersion, + 'unrelated-package-a': '1.0.0', + }, + devDependencies: { + // should not update non-storybook dependencies, even if they match current version + 'unrelated-package-b': currentVersion, + // should update dependencies with range modifiers correctly (e.g. ^1.0.0 -> ^2.0.0) + '@storybook/core-common': `^${expectedVersion}`, + }, + peerDependencies: { + // should not update storybook depenedencies if they don't match current version + '@storybook/preview-api': `*`, + '@storybook/svelte': '0.1.1', + '@storybook/manager-api': `~${expectedVersion}`, + }, + }), + { spaces: 2 } + ); + expect(execaCommand).toHaveBeenCalledWith('yarn install --mode=update-lockfile', { + cwd: path.join(CODE_DIR_PATH), + stdio: undefined, + }); + } + ); +}); diff --git a/scripts/release/generate-pr-description.ts b/scripts/release/generate-pr-description.ts new file mode 100644 index 000000000000..eaf739761eac --- /dev/null +++ b/scripts/release/generate-pr-description.ts @@ -0,0 +1,296 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import program from 'commander'; +import { z } from 'zod'; +import dedent from 'ts-dedent'; +import { setOutput } from '@actions/core'; +import type { Change } from './utils/get-changes'; +import { getChanges } from './utils/get-changes'; +import { getCurrentVersion } from './get-current-version'; + +program + .name('generate-pr-description') + .description('generate a PR description for a release') + .option( + '-C, --current-version ', + 'Which version to generate changelog from, eg. "7.0.7". Defaults to the version at code/package.json' + ) + .option('-N, --next-version ', 'Which version to generate changelog to, eg. "7.0.8"') + .option('-P, --unpicked-patches', 'Set to only consider PRs labeled with "patch" label') + .option( + '-M, --manual-cherry-picks ', + 'A stringified JSON array of commit hashes, of patch PRs that needs to be cherry-picked manually' + ) + .option('-V, --verbose', 'Enable verbose logging', false); + +const optionsSchema = z.object({ + currentVersion: z.string().optional(), + nextVersion: z.string().optional(), + unpickedPatches: z.boolean().optional(), + manualCherryPicks: z + .string() + .default('[]') + .transform((val) => JSON.parse(val)) + .refine((val) => Array.isArray(val)), + verbose: z.boolean().optional(), +}); + +type Options = { + currentVersion?: string; + nextVersion?: string; + unpickedPatches?: boolean; + manualCherryPicks?: string[]; + verbose: boolean; +}; + +const LABELS_BY_IMPORTANCE = { + 'BREAKING CHANGE': '❗ Breaking Change', + 'feature request': '✨ Feature Request', + bug: '🐛 Bug', + maintenance: '🔧 Maintenance', + dependencies: '📦 Dependencies', + documentation: '📝 Documentation', + build: '🏗️ Build', + unknown: '❔ Missing Label', +} as const; + +const CHANGE_TITLES_TO_IGNORE = [ + /^bump version.*/i, + /^merge branch.*/i, + /\[skip ci\]/i, + /\[ci skip\]/i, +]; + +export const mapToChangelist = ({ + changes, + isRelease, +}: { + changes: Change[]; + isRelease: boolean; +}): string => { + return changes + .filter((change) => { + // eslint-disable-next-line no-restricted-syntax + for (const titleToIgnore of CHANGE_TITLES_TO_IGNORE) { + if (change.title.match(titleToIgnore)) { + return false; + } + } + return true; + }) + .map((change) => { + const lines: string[] = []; + if (!change.pull) { + lines.push(`- **⚠️ Direct commit**: ${change.title} ${change.links.commit}`); + if (isRelease) { + lines.push('\t- [ ] The change is appropriate for the version bump'); + } + return lines.join('\n'); + } + + const label = (change.labels + ?.filter((l) => Object.keys(LABELS_BY_IMPORTANCE).includes(l)) + .sort( + (a, b) => + Object.keys(LABELS_BY_IMPORTANCE).indexOf(a) - + Object.keys(LABELS_BY_IMPORTANCE).indexOf(b) + )[0] || 'unknown') as keyof typeof LABELS_BY_IMPORTANCE; + + lines.push(`- **${LABELS_BY_IMPORTANCE[label]}**: ${change.title} ${change.links.pull}`); + + if (isRelease) { + lines.push('\t- [ ] The change is appropriate for the version bump'); + lines.push('\t- [ ] The PR is labeled correctly'); + lines.push('\t- [ ] The PR title is correct'); + } + return lines.join('\n'); + }) + .join('\n'); +}; + +export const mapCherryPicksToTodo = ({ + commits, + changes, + verbose, +}: { + commits: string[]; + changes: Change[]; + verbose?: boolean; +}): string => { + const list = commits + .map((commit) => { + const foundChange = changes.find((change) => change.commit === commit.substring(0, 7)); + if (!foundChange) { + throw new Error( + `Cherry pick commit "${commit}" not found in changes, this should not happen?!` + ); + } + return `- [ ] ${foundChange.links.pull}: \`git cherry-pick -m1 -x ${commit}\``; + }) + .join('\n'); + + if (verbose) { + console.log(`🍒 Cherry pick list:\n${list}`); + } + return dedent`## 🍒 Manual cherry picking needed! + + The following pull requests could not be cherry-picked automatically because it resulted in merge conflicts. + For each pull request below, you need to either manually cherry pick it, or discard it by removing the "patch" label from the PR and re-generate this PR. + + ${list}`; +}; + +export const generateReleaseDescription = ({ + currentVersion, + nextVersion, + changeList, + changelogText, + manualCherryPicks, +}: { + currentVersion: string; + nextVersion: string; + changeList: string; + changelogText: string; + manualCherryPicks?: string; +}): string => { + return ( + dedent`This is an automated pull request that bumps the version from \`${currentVersion}\` to \`${nextVersion}\`. + Once this pull request is merged, it will trigger a new release of version \`${nextVersion}\`. + If you're not a core maintainer with permissions to release you can ignore this pull request. + + ## To do + + Before merging the PR, there are a few QA steps to go through: + + - [ ] Add the "freeze" label to this PR, to ensure it doesn't get automatically forced pushed by new changes. + + And for each change below: + + 1. Ensure the change is appropriate for the version bump. E.g. patch release should only contain patches, not new or de-stabilizing features. If a change is not appropriate, revert the PR. + 2. Ensure the PR is labeled correctly with "BREAKING CHANGE", "feature request", "maintainance", "bug", "build" or "documentation". + 3. Ensure the PR title is correct, and follows the format "[Area]: [Summary]", e.g. *"React: Fix hooks in CSF3 render functions"*. If it is not correct, change the title in the PR. + - Areas include: React, Vue, Core, Docs, Controls, etc. + - First word of summary indicates the type: “Add”, “Fix”, “Upgrade”, etc. + - The entire title should fit on a line + + This is a list of all the PRs merged and commits pushed directly to \`next\`, that will be part of this release: + + ${changeList} + + ${manualCherryPicks || ''} + + If you've made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. It will wipe your progress in this to do, which is expected. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Follow the publish workflow run and see it finishes succesfully](https://github.com/storybookjs/storybook/actions/workflows/publish.yml) + + --- + + # Generated changelog + + ${changelogText}` + // don't mention contributors in the release PR, to avoid spamming them + .replaceAll('[@', '[@ ') + .replaceAll('"', '\\"') + .replaceAll('`', '\\`') + .replaceAll("'", "\\'") + ); +}; + +export const generateNonReleaseDescription = ( + changeList: string, + manualCherryPicks?: string +): string => { + return ( + dedent`This is an automated pull request. None of the changes requires a version bump, they are only internal or documentation related. Merging this PR will not trigger a new release, but documentation will be updated. + If you're not a core maintainer with permissions to release you can ignore this pull request. + + This is a list of all the PRs merged and commits pushed directly to \`next\` since the last release: + + ${changeList} + + ${manualCherryPicks || ''} + + If you've made any changes (change PR titles, revert PRs), manually trigger a re-generation of this PR with [this workflow](https://github.com/storybookjs/storybook/actions/workflows/prepare-prerelease.yml) and wait for it to finish. + + When everything above is done: + - [ ] Merge this PR + - [ ] [Approve the publish workflow run](https://github.com/storybookjs/storybook/actions/workflows/publish.yml)` + // don't mention contributors in the release PR, to avoid spamming them + .replaceAll('[@', '[@ ') + .replaceAll('"', '\\"') + .replaceAll('`', '\\`') + .replaceAll("'", "\\'") + ); +}; + +export const run = async (rawOptions: unknown) => { + const { nextVersion, unpickedPatches, verbose, manualCherryPicks, ...options } = + optionsSchema.parse(rawOptions) as Options; + + if (!nextVersion) { + console.log( + '🚨 --next-version option not specified, generating PR description assuming no release is needed' + ); + } + + const currentVersion = options.currentVersion || (await getCurrentVersion()); + + console.log( + `💬 Generating PR description for ${chalk.blue(nextVersion)} between ${chalk.green( + currentVersion + )} and ${chalk.green('HEAD')}` + ); + + const { changes, changelogText } = await getChanges({ + version: nextVersion, + from: `v${currentVersion}`, + to: 'HEAD', + unpickedPatches, + verbose, + }); + + const hasCherryPicks = manualCherryPicks?.length > 0; + + const description = nextVersion + ? generateReleaseDescription({ + currentVersion, + nextVersion, + changeList: mapToChangelist({ changes, isRelease: true }), + changelogText, + ...(hasCherryPicks && { + manualCherryPicks: mapCherryPicksToTodo({ + commits: manualCherryPicks, + changes, + verbose, + }), + }), + }) + : generateNonReleaseDescription( + mapToChangelist({ changes, isRelease: false }), + hasCherryPicks + ? mapCherryPicksToTodo({ + commits: manualCherryPicks, + changes, + verbose, + }) + : undefined + ); + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('description', description); + } + console.log(`✅ Generated PR description for ${chalk.blue(nextVersion)}`); + if (verbose) { + console.log(description); + } +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/get-changelog-from-file.ts b/scripts/release/get-changelog-from-file.ts new file mode 100644 index 000000000000..27b154d8d74e --- /dev/null +++ b/scripts/release/get-changelog-from-file.ts @@ -0,0 +1,52 @@ +/* eslint-disable no-console */ +import { setOutput } from '@actions/core'; +import chalk from 'chalk'; +import { program } from 'commander'; +import { readFile } from 'fs-extra'; +import path from 'path'; +import semver from 'semver'; +import dedent from 'ts-dedent'; +import { getCurrentVersion } from './get-current-version'; + +program + .name('get-changelog-from-file') + .description( + 'get changelog entry for specific version. If not version argument specified it will use the current version in code/package.json' + ) + .arguments('[version]') + .option('-V, --verbose', 'Enable verbose logging', false); + +export const getChangelogFromFile = async (args: { version?: string; verbose?: boolean }) => { + const version = args.version || (await getCurrentVersion()); + const isPrerelease = semver.prerelease(version) !== null; + const changelogFilename = isPrerelease ? 'CHANGELOG.prerelease.md' : 'CHANGELOG.md'; + const changelogPath = path.join(__dirname, '..', '..', changelogFilename); + + console.log(`📝 Getting changelog from ${chalk.blue(changelogPath)}`); + + const fullChangelog = await readFile(changelogPath, 'utf-8'); + const changelogForVersion = fullChangelog.split(/(^|\n)## /).find((v) => v.startsWith(version)); + if (!changelogForVersion) { + throw new Error( + `Could not find changelog entry for version ${chalk.blue(version)} in ${chalk.green( + changelogPath + )}` + ); + } + const result = `## ${changelogForVersion}`; + + console.log(dedent`📝 Changelog entry found: + ${result}`); + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('changelog', result); + } + return result; +}; + +if (require.main === module) { + const parsed = program.parse(); + getChangelogFromFile({ version: parsed.args[0], verbose: parsed.opts().verbose }).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/get-current-version.ts b/scripts/release/get-current-version.ts new file mode 100644 index 000000000000..413c101640b6 --- /dev/null +++ b/scripts/release/get-current-version.ts @@ -0,0 +1,25 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import { setOutput } from '@actions/core'; +import path from 'path'; +import { readJson } from 'fs-extra'; + +const CODE_DIR_PATH = path.join(__dirname, '..', '..', 'code'); +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + +export const getCurrentVersion = async () => { + console.log(`📐 Reading current version of Storybook...`); + const { version } = (await readJson(CODE_PACKAGE_JSON_PATH)) as { version: string }; + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('current-version', version); + } + console.log(`📦 Current version is ${chalk.green(version)}`); + return version; +}; + +if (require.main === module) { + getCurrentVersion().catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/get-version-changelog.ts b/scripts/release/get-version-changelog.ts new file mode 100644 index 000000000000..3ece5480236d --- /dev/null +++ b/scripts/release/get-version-changelog.ts @@ -0,0 +1,35 @@ +/* eslint-disable no-console */ +import { setOutput } from '@actions/core'; +import chalk from 'chalk'; +import { program } from 'commander'; +import { getCurrentVersion } from './get-current-version'; +import { getChanges } from './utils/get-changes'; + +program + .name('get-version-changelog') + .description( + 'get changelog for specific version. If no version argument specified it will use the current version in code/package.json' + ) + .arguments('[version]') + .option('-V, --verbose', 'Enable verbose logging', false); + +export const getVersionChangelog = async (args: { version?: string; verbose?: boolean }) => { + const version = args.version || (await getCurrentVersion()); + + console.log(`📝 Getting changelog for version ${chalk.blue(version)}`); + + const { changelogText } = await getChanges({ from: version, version, verbose: args.verbose }); + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('changelog', changelogText); + } + return changelogText; +}; + +if (require.main === module) { + const parsed = program.parse(); + getVersionChangelog({ version: parsed.args[0], verbose: parsed.opts().verbose }).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/is-pr-frozen.ts b/scripts/release/is-pr-frozen.ts new file mode 100644 index 000000000000..c96259d3fa40 --- /dev/null +++ b/scripts/release/is-pr-frozen.ts @@ -0,0 +1,101 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import program from 'commander'; +import { simpleGit } from 'simple-git'; +import { setOutput } from '@actions/core'; +import path from 'path'; +import { readJson } from 'fs-extra'; +import { getPullInfoFromCommit } from './utils/get-github-info'; + +program + .name('is-pr-frozen') + .description( + 'returns true if the versioning pull request associated with the current branch has the "freeze" label' + ) + .option('-P, --patch', 'Look for patch PR instead of prerelease PR', false) + .option('-V, --verbose', 'Enable verbose logging', false); + +const git = simpleGit(); + +const CODE_DIR_PATH = path.join(__dirname, '..', '..', 'code'); +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + +const getCurrentVersion = async () => { + console.log(`📐 Reading current version of Storybook...`); + const { version } = await readJson(CODE_PACKAGE_JSON_PATH); + return version; +}; + +const getRepo = async (verbose?: boolean): Promise => { + const remotes = await git.getRemotes(true); + const originRemote = remotes.find((remote) => remote.name === 'origin'); + if (!originRemote) { + console.error( + 'Could not determine repository URL because no remote named "origin" was found. Remotes found:' + ); + console.dir(remotes, { depth: null, colors: true }); + throw new Error('No remote named "origin" found'); + } + const pushUrl = originRemote.refs.push; + const repo = pushUrl.replace(/\.git$/, '').replace(/.*:(\/\/github\.com\/)*/, ''); + if (verbose) { + console.log(`📦 Extracted repo: ${chalk.blue(repo)}`); + } + return repo; +}; + +export const run = async (options: unknown) => { + const { verbose, patch } = options as { verbose?: boolean; patch?: boolean }; + + const version = await getCurrentVersion(); + const branch = `version-from-${patch ? 'patch' : 'prerelease'}-${version}`; + + console.log(`💬 Determining if pull request from branch '${chalk.blue(branch)}' is frozen`); + + console.log(`⬇️ Fetching remote 'origin/${branch}'...`); + try { + await git.fetch('origin', branch, { '--depth': 1 }); + } catch (error) { + console.warn( + `❗ Could not fetch remote 'origin/${branch}', it probably does not exist yet, which is okay` + ); + console.warn(error); + console.log(`💧 Pull request doesn't exist yet! 😎`); + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('frozen', false); + } + return false; + } + + const commit = await git.revparse(`origin/${branch}`); + console.log(`🔍 Found commit: ${commit}`); + + const repo = await getRepo(verbose); + + const pullRequest = await getPullInfoFromCommit({ repo, commit }).catch((err) => { + console.error(`🚨 Could not get pull requests from commit: ${commit}`); + console.error(err); + throw err; + }); + console.log(`🔍 Found pull request: + ${JSON.stringify(pullRequest, null, 2)}`); + + const isFrozen = pullRequest.labels?.includes('freeze'); + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('frozen', isFrozen); + } + if (isFrozen) { + console.log(`🧊 Pull request is frozen! 🥶`); + } else { + console.log(`🔥 Pull request is on fire! 🥵`); + } + return isFrozen; +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/is-prerelease.ts b/scripts/release/is-prerelease.ts new file mode 100644 index 000000000000..5a3f7ef11c9e --- /dev/null +++ b/scripts/release/is-prerelease.ts @@ -0,0 +1,34 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import program from 'commander'; +import { setOutput } from '@actions/core'; +import semver from 'semver'; +import { getCurrentVersion } from './get-current-version'; + +program + .name('is-prerelease') + .description('returns true if the current version is a prerelease') + .option('-V, --verbose', 'Enable verbose logging', false); + +export const isPrerelease = async (versionArg?: string) => { + const version = versionArg || (await getCurrentVersion()); + const result = semver.prerelease(version) !== null; + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('prerelease', result); + } + console.log( + `📦 Current version ${chalk.green(version)} ${ + result ? chalk.blue('IS') : chalk.red('IS NOT') + } a prerelease` + ); + + return result; +}; + +if (require.main === module) { + isPrerelease().catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/is-version-published.ts b/scripts/release/is-version-published.ts new file mode 100644 index 000000000000..b5acd8c90ab7 --- /dev/null +++ b/scripts/release/is-version-published.ts @@ -0,0 +1,86 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import program from 'commander'; +import { setOutput } from '@actions/core'; +import fetch from 'node-fetch'; +import { getCurrentVersion } from './get-current-version'; + +program + .name('is-prerelease [version]') + .description('returns true if the current version is a prerelease') + .arguments('[version]'); + +const isVersionPublished = async ({ + packageName, + version, + verbose, +}: { + packageName: string; + version: string; + verbose?: boolean; +}) => { + const prettyPackage = `${chalk.blue(packageName)}@${chalk.green(version)}`; + console.log(`⛅ Checking if ${prettyPackage} is published...`); + + if (verbose) { + console.log(`Fetching from npm:`); + console.log(`https://registry.npmjs.org/${chalk.blue(packageName)}/${chalk.green(version)}`); + } + const response = await fetch(`https://registry.npmjs.org/${packageName}/${version}`); + if (response.status === 404) { + console.log(`🌤️ ${prettyPackage} is not published`); + return false; + } + if (response.status !== 200) { + console.error( + `Unexpected status code when checking the current version on npm: ${response.status}` + ); + console.error(await response.text()); + throw new Error( + `Unexpected status code when checking the current version on npm: ${response.status}` + ); + } + const data = await response.json(); + if (verbose) { + console.log(`Response from npm:`); + console.log(data); + } + if (data.version !== version) { + // this should never happen + console.error( + `Unexpected version received when checking the current version on npm: ${data.version}` + ); + console.error(JSON.stringify(data, null, 2)); + throw new Error( + `Unexpected version received when checking the current version on npm: ${data.version}` + ); + } + + console.log(`⛈️ ${prettyPackage} is published`); + return true; +}; + +export const run = async (args: unknown[], options: unknown) => { + const { verbose } = options as { verbose?: boolean }; + + const version = (args[0] as string) || (await getCurrentVersion()); + + const isAlreadyPublished = await isVersionPublished({ + version, + packageName: '@storybook/manager-api', + verbose, + }); + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('published', isAlreadyPublished); + } + return isAlreadyPublished; +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.args, parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/label-patches.ts b/scripts/release/label-patches.ts new file mode 100644 index 000000000000..bf18358f877a --- /dev/null +++ b/scripts/release/label-patches.ts @@ -0,0 +1,83 @@ +import program from 'commander'; +import { v4 as uuidv4 } from 'uuid'; +import ora from 'ora'; +import { getLabelIds, githubGraphQlClient } from './utils/github-client'; +import { getPullInfoFromCommits, getRepo } from './utils/get-changes'; +import { getLatestTag, git } from './utils/git-client'; + +program + .name('label-patches') + .description('Label all patches applied in current branch up to the latest release tag.'); + +async function labelPR(id: string, labelId: string) { + await githubGraphQlClient( + ` + mutation ($input: AddLabelsToLabelableInput!) { + addLabelsToLabelable(input: $input) { + clientMutationId + } + } + `, + { input: { labelIds: [labelId], labelableId: id, clientMutationId: uuidv4() } } + ); +} + +export const run = async (_: unknown) => { + if (!process.env.GH_TOKEN) { + throw new Error('GH_TOKEN environment variable must be set, exiting.'); + } + + const spinner = ora('Looking for latest tag').start(); + const latestTag = await getLatestTag(); + spinner.succeed(`Found latest tag: ${latestTag}`); + + const spinner2 = ora(`Looking at cherry pick commits since ${latestTag}`).start(); + const commitsSinceLatest = await git.log({ from: latestTag, '--first-parent': null }); + console.log(commitsSinceLatest); + const cherryPicked = commitsSinceLatest.all.flatMap((it) => { + const result = it.body.match(/\(cherry picked from commit (\b[0-9a-f]{7,40}\b)\)/); + return result ? [result?.[1]] : []; + }); + + if (cherryPicked.length === 0) { + spinner2.fail('No cherry pick commits found to label.'); + return; + } + + const repo = await getRepo(); + const pullRequests = ( + await getPullInfoFromCommits({ + repo, + commits: cherryPicked.map((hash) => ({ hash })), + }) + ).filter((it) => it.id != null); + + if (pullRequests.length === 0) { + spinner2.fail( + `Found picks: ${cherryPicked.join(', ')}, but no associated pull request found to label.` + ); + return; + } + + const commitWithPr = pullRequests.map((pr) => `Commit: ${pr.commit}\n PR: ${pr.links.pull}`); + + spinner2.succeed(`Found the following picks 🍒:\n ${commitWithPr.join('\n')}`); + + const spinner3 = ora(`Labeling the PRs with the picked label...`).start(); + try { + const labelToId = await getLabelIds({ repo, labelNames: ['picked'] }); + await Promise.all(pullRequests.map((pr) => labelPR(pr.id, labelToId.picked))); + spinner3.succeed(`Successfully labeled all PRs with the picked label.`); + } catch (e) { + spinner3.fail(`Something went wrong when labelling the PRs.`); + console.error(e); + } +}; + +if (require.main === module) { + const options = program.parse(process.argv); + run(options).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/pick-patches.ts b/scripts/release/pick-patches.ts new file mode 100644 index 000000000000..20a3f2d6a870 --- /dev/null +++ b/scripts/release/pick-patches.ts @@ -0,0 +1,154 @@ +/* eslint-disable no-console */ +/* eslint-disable no-await-in-loop */ +import program from 'commander'; +import chalk from 'chalk'; +import { v4 as uuidv4 } from 'uuid'; +import type { GraphQlQueryResponseData } from '@octokit/graphql'; +import ora from 'ora'; +import { simpleGit } from 'simple-git'; +import { setOutput } from '@actions/core'; +import { getUnpickedPRs } from './utils/get-unpicked-prs'; +import { githubGraphQlClient } from './utils/github-client'; + +program.name('pick-patches').description('Cherry pick patch PRs back to main'); + +const logger = console; + +const OWNER = 'storybookjs'; +const REPO = 'storybook'; +const SOURCE_BRANCH = 'next'; + +const git = simpleGit(); + +interface PR { + number: number; + id: string; + branch: string; + title: string; + mergeCommit: string; +} + +const LABEL = { + PATCH: 'patch', + PICKED: 'picked', + DOCUMENTATION: 'documentation', +} as const; + +function formatPR(pr: PR): string { + return `https://github.com/${OWNER}/${REPO}/pull/${pr.number} "${pr.title}" ${chalk.yellow( + pr.mergeCommit + )}`; +} + +// @ts-expect-error not used atm +async function getLabelIds(labelNames: string[]) { + const query = labelNames.join('+'); + const result = await githubGraphQlClient( + ` + query ($owner: String!, $repo: String!, $q: String!) { + repository(owner: $owner, name: $repo) { + labels(query: $q, first: 10) { + nodes { + id + name + description + } + } + } + } + `, + { + owner: OWNER, + repo: REPO, + q: query, + } + ); + + const { labels } = result.repository; + const labelToId = {} as Record; + labels.nodes.forEach((label: { name: string; id: string }) => { + labelToId[label.name] = label.id; + }); + return labelToId; +} + +// @ts-expect-error not used atm +async function labelPR(id: string, labelToId: Record) { + await githubGraphQlClient( + ` + mutation ($input: AddLabelsToLabelableInput!) { + addLabelsToLabelable(input: $input) { + clientMutationId + } + } + `, + { + input: { + labelIds: [labelToId[LABEL.PICKED]], + labelableId: id, + clientMutationId: uuidv4(), + }, + } + ); +} + +export const run = async (_: unknown) => { + if (!process.env.GH_TOKEN) { + logger.error('GH_TOKEN environment variable must be set, exiting.'); + process.exit(1); + } + + const sourceBranch = SOURCE_BRANCH; + + const spinner = ora('Searching for patch PRs to cherry-pick').start(); + + // const labelToId = await getLabelIds(Object.values(LABEL)); + const patchPRs = await getUnpickedPRs(sourceBranch); + + if (patchPRs.length > 0) { + spinner.succeed(`Found ${patchPRs.length} PRs to cherry-pick to main.`); + } else { + spinner.warn('No PRs found.'); + } + + const failedCherryPicks: string[] = []; + + // eslint-disable-next-line no-restricted-syntax + for (const pr of patchPRs) { + const prSpinner = ora(`Cherry picking #${pr.number}`).start(); + + try { + await git.raw(['cherry-pick', '-m', '1', '-x', pr.mergeCommit]); + prSpinner.succeed(`Picked: ${formatPR(pr)}`); + } catch (pickError) { + prSpinner.fail(`Failed to automatically pick: ${formatPR(pr)}`); + logger.error(pickError.message); + const abort = ora(`Aborting cherry pick for merge commit: ${pr.mergeCommit}`).start(); + try { + await git.raw(['cherry-pick', '--abort']); + abort.stop(); + } catch (abortError) { + abort.warn(`Failed to abort cherry pick (${pr.mergeCommit})`); + logger.error(pickError.message); + } + failedCherryPicks.push(pr.mergeCommit); + prSpinner.info( + `This PR can be picked manually with: ${chalk.grey( + `git cherry-pick -m1 -x ${pr.mergeCommit}` + )}` + ); + } + } + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('failed-cherry-picks', JSON.stringify(failedCherryPicks)); + } +}; + +if (require.main === module) { + const options = program.parse(process.argv); + run(options).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/publish.ts b/scripts/release/publish.ts new file mode 100644 index 000000000000..f3d3516b6a98 --- /dev/null +++ b/scripts/release/publish.ts @@ -0,0 +1,206 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import path from 'path'; +import program from 'commander'; +import semver from 'semver'; +import { z } from 'zod'; +import { readJson } from 'fs-extra'; +import fetch from 'node-fetch'; +import dedent from 'ts-dedent'; +import { execaCommand } from '../utils/exec'; + +program + .name('publish') + .description('publish all packages') + .requiredOption( + '-T, --tag ', + 'Specify which distribution tag to set for the version being published. Required, since leaving it undefined would publish with the "latest" tag' + ) + .option('-D, --dry-run', 'Do not publish, only output to shell', false) + .option('-V, --verbose', 'Enable verbose logging', false); + +const optionsSchema = z + .object({ + tag: z.string(), + verbose: z.boolean().optional(), + dryRun: z.boolean().optional(), + }) + .refine((schema) => (schema.tag ? !semver.valid(schema.tag) : true), { + message: + 'The tag can not be a valid semver version, it must be a plain string like "next" or "latest"', + }); + +type Options = { + tag: string; + verbose: boolean; + dryRun?: boolean; +}; + +const CODE_DIR_PATH = path.join(__dirname, '..', '..', 'code'); +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + +const validateOptions = (options: { [key: string]: any }): options is Options => { + optionsSchema.parse(options); + return true; +}; + +const getCurrentVersion = async (verbose?: boolean) => { + if (verbose) { + console.log(`📐 Reading current version of Storybook...`); + } + const { version } = await readJson(CODE_PACKAGE_JSON_PATH); + console.log(`📐 Current version of Storybook is ${chalk.green(version)}`); + return version; +}; + +const isCurrentVersionPublished = async ({ + packageName, + currentVersion, + verbose, +}: { + packageName: string; + currentVersion: string; + verbose?: boolean; +}) => { + const prettyPackage = `${chalk.blue(packageName)}@${chalk.green(currentVersion)}`; + console.log(`⛅ Checking if ${prettyPackage} is published...`); + + if (verbose) { + console.log(`Fetching from npm:`); + console.log( + `https://registry.npmjs.org/${chalk.blue(packageName)}/${chalk.green(currentVersion)}` + ); + } + const response = await fetch(`https://registry.npmjs.org/${packageName}/${currentVersion}`); + if (response.status === 404) { + console.log(`🌤️ ${prettyPackage} is not published`); + return false; + } + if (response.status !== 200) { + console.error( + `Unexpected status code when checking the current version on npm: ${response.status}` + ); + console.error(await response.text()); + throw new Error( + `Unexpected status code when checking the current version on npm: ${response.status}` + ); + } + const data = await response.json(); + if (verbose) { + console.log(`Response from npm:`); + console.log(data); + } + if (data.version !== currentVersion) { + // this should never happen + console.error( + `Unexpected version received when checking the current version on npm: ${data.version}` + ); + console.error(JSON.stringify(data, null, 2)); + throw new Error( + `Unexpected version received when checking the current version on npm: ${data.version}` + ); + } + + console.log(`⛈️ ${prettyPackage} is published`); + return true; +}; + +const buildAllPackages = async () => { + console.log(`🏗️ Building all packages...`); + await execaCommand('yarn task --task=compile --start-from=compile --no-link', { + stdio: 'inherit', + cwd: CODE_DIR_PATH, + }); + console.log(`🏗️ Packages successfully built`); +}; + +const publishAllPackages = async ({ + tag, + verbose, + dryRun, +}: { + tag: string; + verbose?: boolean; + dryRun?: boolean; +}) => { + console.log(`📦 Publishing all packages...`); + const command = `yarn workspaces foreach --parallel --no-private --verbose npm publish --tolerate-republish --tag ${tag}`; + if (verbose) { + console.log(`📦 Executing: ${command}`); + } + if (dryRun) { + console.log(`📦 Dry run, skipping publish. Would have executed: + ${chalk.blue(command)}`); + return; + } + + // Note this is to fool `ts-node` into not turning the `import()` into a `require()`. + // See: https://github.com/TypeStrong/ts-node/discussions/1290 + // prettier-ignore + const pRetry = ( + // eslint-disable-next-line @typescript-eslint/no-implied-eval + (await new Function('specifier', 'return import(specifier)')( + 'p-retry' + )) as typeof import('p-retry') + ).default; + /** + * 'yarn npm publish' will fail if just one package fails to publish. + * But it will continue through with all the other packages, and --tolerate-republish makes it okay to publish the same version again. + * So we can safely retry the whole publishing process if it fails. + * It's not uncommon for the registry to fail often, which Yarn catches by checking the registry after a package has been published. + */ + await pRetry( + () => + execaCommand(command, { + stdio: 'inherit', + cwd: CODE_DIR_PATH, + }), + { + retries: 4, + onFailedAttempt: (error) => + console.log( + chalk.yellow( + dedent`❗One or more packages failed to publish, retrying... + This was attempt number ${error.attemptNumber}, there are ${error.retriesLeft} retries left. 🤞` + ) + ), + } + ); + console.log(`📦 Packages successfully published`); +}; + +export const run = async (options: unknown) => { + if (!validateOptions(options)) { + return; + } + const { tag, dryRun, verbose } = options; + + // Get the current version from code/package.json + const currentVersion = await getCurrentVersion(verbose); + const isAlreadyPublished = await isCurrentVersionPublished({ + currentVersion, + packageName: '@storybook/manager-api', + verbose, + }); + if (isAlreadyPublished) { + throw new Error( + `⛔ Current version (${chalk.green(currentVersion)}) is already published, aborting.` + ); + } + await buildAllPackages(); + await publishAllPackages({ tag, verbose, dryRun }); + + console.log( + `✅ Published all packages with version ${chalk.green(currentVersion)}${ + tag ? ` at tag ${chalk.blue(tag)}` : '' + }` + ); +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/unreleased-changes-exists.ts b/scripts/release/unreleased-changes-exists.ts new file mode 100644 index 000000000000..8d8be843e833 --- /dev/null +++ b/scripts/release/unreleased-changes-exists.ts @@ -0,0 +1,88 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import program from 'commander'; +import { z } from 'zod'; +import { setOutput } from '@actions/core'; +import { intersection } from 'lodash'; +import type { Change } from './utils/get-changes'; +import { getChanges } from './utils/get-changes'; +import { getCurrentVersion } from './get-current-version'; + +program + .name('are-changes-unreleased') + .description('check if any changes since a release should be released') + .option( + '-F, --from ', + 'Which version/tag/commit to go back and check changes from. Defaults to latest release tag' + ) + .option('-P, --unpicked-patches', 'Set to only consider PRs labeled with "patch" label') + .option('-V, --verbose', 'Enable verbose logging', false); + +const optionsSchema = z.object({ + from: z.string().optional(), + unpickedPatches: z.boolean().optional(), + verbose: z.boolean().optional(), +}); + +type Options = { + from?: string; + unpickedPatches?: boolean; + verbose: boolean; +}; + +const validateOptions = (options: { [key: string]: any }): options is Options => { + optionsSchema.parse(options); + return true; +}; + +const LABELS_TO_RELEASE = ['BREAKING CHANGE', 'feature request', 'bug', 'maintenance'] as const; + +export const run = async ( + options: unknown +): Promise<{ changesToRelease: Change[]; hasChangesToRelease: boolean }> => { + if (!validateOptions(options)) { + // this will never return because the validator throws + return { changesToRelease: [], hasChangesToRelease: false }; + } + const { from, unpickedPatches, verbose } = options; + + const currentVersion = await getCurrentVersion(); + + console.log(`📐 Checking if there are any unreleased changes...`); + + const { changes } = await getChanges({ + version: currentVersion, + from: from || currentVersion, + to: 'HEAD', + unpickedPatches, + verbose, + }); + + const changesToRelease = changes.filter( + ({ labels }) => intersection(LABELS_TO_RELEASE, labels).length > 0 + ); + + const hasChangesToRelease = changesToRelease.length > 0; + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('has-changes-to-release', hasChangesToRelease); + } + if (hasChangesToRelease) { + console.log( + `${chalk.green('🦋 The following changes are releasable')}: +${chalk.blue(changesToRelease.map(({ title, pull }) => ` #${pull}: ${title}`).join('\n'))}` + ); + } else { + console.log(chalk.red('🫙 No changes to release!')); + } + + return { changesToRelease, hasChangesToRelease }; +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/utils/__mocks__/get-github-info.js b/scripts/release/utils/__mocks__/get-github-info.js new file mode 100644 index 000000000000..2fa98bd4cb48 --- /dev/null +++ b/scripts/release/utils/__mocks__/get-github-info.js @@ -0,0 +1,4 @@ +module.exports = { + getPullInfoFromCommit: jest.fn(), + getPullInfoFromPullRequest: jest.fn(), +}; diff --git a/scripts/release/utils/get-changes.ts b/scripts/release/utils/get-changes.ts new file mode 100644 index 000000000000..1108bb25559e --- /dev/null +++ b/scripts/release/utils/get-changes.ts @@ -0,0 +1,248 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import semver from 'semver'; +import type { PullRequestInfo } from './get-github-info'; +import { getPullInfoFromCommit } from './get-github-info'; +import { getUnpickedPRs } from './get-unpicked-prs'; +import { git } from './git-client'; + +const LABELS_FOR_CHANGELOG = ['BREAKING CHANGE', 'feature request', 'bug', 'maintenance']; + +const getCommitAt = async (id: string, verbose?: boolean) => { + if (!semver.valid(id)) { + console.log(`🔍 ${chalk.red(id)} is not a valid semver string, assuming it is a commit hash`); + return id; + } + const version = id.startsWith('v') ? id : `v${id}`; + const commitSha = (await git.raw(['rev-list', '-n', '1', version])).split('\n')[0]; + if (verbose) { + console.log(`🔍 Commit at tag ${chalk.green(version)}: ${chalk.blue(commitSha)}`); + } + return commitSha; +}; + +export const getFromCommit = async (from?: string | undefined, verbose?: boolean) => { + let actualFrom = from; + if (!from) { + console.log(`🔍 No 'from' specified, finding latest version tag, fetching all of them...`); + // await git.fetch('origin', ['--all', '--tags']); + const { latest } = await git.tags(['v*', '--sort=-v:refname', '--merged']); + if (!latest) { + throw new Error( + 'Could not automatically detect which commit to generate from, because no version tag was found in the history. Have you fetch tags?' + ); + } + actualFrom = latest; + if (verbose) { + console.log(`🔍 No 'from' specified, found latest tag: ${chalk.blue(latest)}`); + } + } + const commit = await getCommitAt(actualFrom, verbose); + if (verbose) { + console.log(`🔍 Found 'from' commit: ${chalk.blue(commit)}`); + } + return commit; +}; + +export const getToCommit = async (to?: string | undefined, verbose?: boolean) => { + if (!to) { + const head = await git.revparse('HEAD'); + if (verbose) { + console.log(`🔍 No 'to' specified, HEAD is at commit: ${chalk.blue(head)}`); + } + return head; + } + + const commit = await getCommitAt(to, verbose); + if (verbose) { + console.log(`🔍 Found 'to' commit: ${chalk.blue(commit)}`); + } + return commit; +}; + +export const getAllCommitsBetween = async ({ + from, + to, + verbose, +}: { + from: string; + to?: string; + verbose?: boolean; +}) => { + const logResult = await git.log({ from, to, '--first-parent': null }); + if (verbose) { + console.log( + `🔍 Found ${chalk.blue(logResult.total)} commits between ${chalk.green( + `${from}` + )} and ${chalk.green(`${to}`)}:` + ); + console.dir(logResult.all, { depth: null, colors: true }); + } + return logResult.all; +}; + +export const getRepo = async (verbose?: boolean): Promise => { + const remotes = await git.getRemotes(true); + const originRemote = remotes.find((remote) => remote.name === 'origin'); + if (!originRemote) { + console.error( + 'Could not determine repository URL because no remote named "origin" was found. Remotes found:' + ); + console.dir(remotes, { depth: null, colors: true }); + throw new Error('No remote named "origin" found'); + } + const pushUrl = originRemote.refs.push; + const repo = pushUrl.replace(/\.git$/, '').replace(/.*:(\/\/github\.com\/)*/, ''); + if (verbose) { + console.log(`📦 Extracted repo: ${chalk.blue(repo)}`); + } + return repo; +}; + +export const getPullInfoFromCommits = async ({ + repo, + commits, + verbose, +}: { + repo: string; + commits: readonly { hash: string }[]; + verbose?: boolean; +}): Promise => { + const pullRequests = await Promise.all( + commits.map((commit) => + getPullInfoFromCommit({ + repo, + commit: commit.hash, + }) + ) + ); + if (verbose) { + console.log(`🔍 Found pull requests:`); + console.dir(pullRequests, { depth: null, colors: true }); + } + return pullRequests; +}; + +export type Change = PullRequestInfo; + +export const mapToChanges = ({ + commits, + pullRequests, + unpickedPatches, + verbose, +}: { + commits: readonly { hash: string; message?: string }[]; + pullRequests: PullRequestInfo[]; + unpickedPatches?: boolean; + verbose?: boolean; +}): Change[] => { + if (pullRequests.length !== commits.length) { + // not all commits are associated with a pull request, but the pullRequests array should still contain those commits + console.error('Pull requests and commits are not the same length, this should not happen'); + console.error(`Pull Requests: ${pullRequests.length}`); + console.dir(pullRequests, { depth: null, colors: true }); + console.error(`Commits: ${commits.length}`); + console.dir(commits, { depth: null, colors: true }); + throw new Error('Pull requests and commits are not the same length, this should not happen'); + } + const allEntries = pullRequests.map((pr, index) => { + return { + ...pr, + title: pr.title || commits[index].message, + }; + }); + + const changes: Change[] = []; + allEntries.forEach((entry) => { + // filter out any duplicate entries, eg. when multiple commits are associated with the same pull request + if (entry.pull && changes.findIndex((existing) => entry.pull === existing.pull) !== -1) { + return; + } + // filter out any entries that are not patches if unpickedPatches is set. this will also filter out direct commits + if (unpickedPatches && !entry.labels?.includes('patch')) { + return; + } + changes.push(entry); + }); + + if (verbose) { + console.log(`📝 Generated changelog entries:`); + console.dir(changes, { depth: null, colors: true }); + } + return changes; +}; + +export const getChangelogText = ({ + changes, + version, +}: { + changes: Change[]; + version: string; +}): string => { + const heading = `## ${version}`; + const formattedEntries = changes + .filter((entry) => { + // don't include direct commits that are not from pull requests + if (!entry.pull) { + return false; + } + // only include PRs that with labels listed in LABELS_FOR_CHANGELOG + return entry.labels?.some((label) => LABELS_FOR_CHANGELOG.includes(label)); + }) + .map((entry) => { + const { title, links } = entry; + const { pull, commit, user } = links; + return pull + ? `- ${title} - ${pull}, thanks ${user}!` + : `- ⚠️ _Direct commit_ ${title} - ${commit} by ${user}`; + }); + const text = [heading, '', ...formattedEntries].join('\n'); + + console.log(`✅ Generated Changelog:`); + console.log(text); + + return text; +}; + +export const getChanges = async ({ + version, + from, + to, + unpickedPatches, + verbose, +}: { + version: string; + from?: string; + to?: string; + unpickedPatches?: boolean; + verbose?: boolean; +}) => { + console.log(`💬 Getting changes for ${chalk.blue(version)}`); + + let commits; + if (unpickedPatches) { + commits = (await getUnpickedPRs('next', verbose)).map((it) => ({ hash: it.mergeCommit })); + } else { + commits = await getAllCommitsBetween({ + from: await getFromCommit(from, verbose), + to: await getToCommit(to, verbose), + verbose, + }); + } + + const repo = await getRepo(verbose); + const pullRequests = await getPullInfoFromCommits({ repo, commits, verbose }).catch((err) => { + console.error( + `🚨 Could not get pull requests from commits, this is usually because you have unpushed commits, or you haven't set the GH_TOKEN environment variable` + ); + console.error(err); + throw err; + }); + const changes = mapToChanges({ commits, pullRequests, unpickedPatches, verbose }); + const changelogText = getChangelogText({ + changes, + version, + }); + + return { changes, changelogText }; +}; diff --git a/scripts/release/utils/get-github-info.ts b/scripts/release/utils/get-github-info.ts new file mode 100644 index 000000000000..5a5d9e9cbe1a --- /dev/null +++ b/scripts/release/utils/get-github-info.ts @@ -0,0 +1,297 @@ +/** + * This file is soft-forked from @changesets/get-github-info + * https://github.com/changesets/changesets/tree/main/packages/get-github-info + * + * The only modification is that it also returns the PR title and labels + */ + +import DataLoader from 'dataloader'; +import fetch from 'node-fetch'; + +const validRepoNameRegex = /^[\w.-]+\/[\w.-]+$/; + +type RequestData = + | { kind: 'commit'; repo: string; commit: string } + | { kind: 'pull'; repo: string; pull: number }; + +type ReposWithCommitsAndPRsToFetch = Record< + string, + ({ kind: 'commit'; commit: string } | { kind: 'pull'; pull: number })[] +>; + +function makeQuery(repos: ReposWithCommitsAndPRsToFetch) { + const query = ` + query { + ${Object.keys(repos) + .map( + (repo, i) => + `a${i}: repository( + owner: ${JSON.stringify(repo.split('/')[0])} + name: ${JSON.stringify(repo.split('/')[1])} + ) { + ${repos[repo] + .map((data) => + data.kind === 'commit' + ? `a${data.commit}: object(expression: ${JSON.stringify(data.commit)}) { + ... on Commit { + commitUrl + associatedPullRequests(first: 50) { + nodes { + number + id + title + url + mergedAt + labels(first: 50) { + nodes { + name + } + } + author { + login + url + } + } + } + author { + user { + login + url + } + } + }}` + : `pr__${data.pull}: pullRequest(number: ${data.pull}) { + url + title + author { + login + url + } + labels(first: 50) { + nodes { + name + } + } + mergeCommit { + commitUrl + abbreviatedOid + } + }` + ) + .join('\n')} + }` + ) + .join('\n')} + } + `; + return query; +} + +// why are we using dataloader? +// it provides use with two things +// 1. caching +// since getInfo will be called inside of changeset's getReleaseLine +// and there could be a lot of release lines for a single commit +// caching is important so we don't do a bunch of requests for the same commit +// 2. batching +// getReleaseLine will be called a large number of times but it'll be called at the same time +// so instead of doing a bunch of network requests, we can do a single one. +const GHDataLoader = new DataLoader( + async (requests: RequestData[]) => { + if (!process.env.GH_TOKEN) { + throw new Error( + 'Please create a GitHub personal access token at https://github.com/settings/tokens/new with `read:user` and `repo:status` permissions and add it as the GH_TOKEN environment variable' + ); + } + const repos: ReposWithCommitsAndPRsToFetch = {}; + requests.forEach(({ repo, ...data }) => { + if (repos[repo] === undefined) { + repos[repo] = []; + } + repos[repo].push(data); + }); + + const data = await fetch('https://api.github.com/graphql', { + method: 'POST', + headers: { + Authorization: `Token ${process.env.GH_TOKEN}`, + }, + body: JSON.stringify({ query: makeQuery(repos) }), + }).then((x: any) => x.json()); + + if (data.errors) { + throw new Error( + `An error occurred when fetching data from GitHub\n${JSON.stringify(data.errors, null, 2)}` + ); + } + + // this is mainly for the case where there's an authentication problem + if (!data.data) { + throw new Error(`An error occurred when fetching data from GitHub\n${JSON.stringify(data)}`); + } + + const cleanedData: Record; pull: Record }> = + {}; + Object.keys(repos).forEach((repo, index) => { + const output: { commit: Record; pull: Record } = { + commit: {}, + pull: {}, + }; + cleanedData[repo] = output; + Object.entries(data.data[`a${index}`]).forEach(([field, value]) => { + // this is "a" because that's how it was when it was first written, "a" means it's a commit not a pr + // we could change it to commit__ but then we have to get new GraphQL results from the GH API to put in the tests + if (field[0] === 'a') { + output.commit[field.substring(1)] = value; + } else { + output.pull[field.replace('pr__', '')] = value; + } + }); + }); + + return requests.map( + ({ repo, ...rest }) => + cleanedData[repo][rest.kind][rest.kind === 'pull' ? rest.pull : rest.commit] + ); + }, + { maxBatchSize: 50 } +); + +export type PullRequestInfo = { + user: string | null; + id: string | null; + title: string | null; + commit: string | null; + pull: number | null; + labels: string[] | null; + links: { + commit: string; + pull: string | null; + user: string | null; + }; +}; + +export async function getPullInfoFromCommit(request: { + commit: string; + repo: string; +}): Promise { + if (!request.commit) { + throw new Error('Please pass a commit SHA to getInfo'); + } + + if (!request.repo) { + throw new Error('Please pass a GitHub repository in the form of userOrOrg/repoName to getInfo'); + } + + if (!validRepoNameRegex.test(request.repo)) { + throw new Error( + `Please pass a valid GitHub repository in the form of userOrOrg/repoName to getInfo (it has to match the "${validRepoNameRegex.source}" pattern)` + ); + } + + const data = await GHDataLoader.load({ kind: 'commit', ...request }); + if (!data) { + return { + id: null, + user: null, + pull: null, + commit: request.commit, + title: null, + labels: null, + links: { + commit: request.commit, + pull: null, + user: null, + }, + }; + } + let user = null; + if (data.author && data.author.user) { + user = data.author.user; + } + + const associatedPullRequest = + data.associatedPullRequests && + data.associatedPullRequests.nodes && + data.associatedPullRequests.nodes.length + ? (data.associatedPullRequests.nodes as any[]).sort((a, b) => { + if (a.mergedAt === null && b.mergedAt === null) { + return 0; + } + if (a.mergedAt === null) { + return 1; + } + if (b.mergedAt === null) { + return -1; + } + const aDate = new Date(a.mergedAt); + const bDate = new Date(b.mergedAt); + if (aDate > bDate) { + return 1; + } + if (aDate < bDate) { + return -1; + } + return 0; + })[0] + : null; + if (associatedPullRequest) { + user = associatedPullRequest.author; + } + + return { + user: user ? user.login : null, + id: associatedPullRequest ? associatedPullRequest.id : null, + pull: associatedPullRequest ? associatedPullRequest.number : null, + commit: request.commit, + title: associatedPullRequest ? associatedPullRequest.title : null, + labels: associatedPullRequest + ? (associatedPullRequest.labels.nodes || []).map((label: { name: string }) => label.name) + : null, + links: { + commit: `[\`${request.commit}\`](${data.commitUrl})`, + pull: associatedPullRequest + ? `[#${associatedPullRequest.number}](${associatedPullRequest.url})` + : null, + user: user ? `[@${user.login}](${user.url})` : null, + }, + }; +} + +export async function getPullInfoFromPullRequest(request: { + pull: number; + repo: string; +}): Promise { + if (request.pull === undefined) { + throw new Error('Please pass a pull request number'); + } + + if (!request.repo) { + throw new Error('Please pass a GitHub repository in the form of userOrOrg/repoName to getInfo'); + } + + if (!validRepoNameRegex.test(request.repo)) { + throw new Error( + `Please pass a valid GitHub repository in the form of userOrOrg/repoName to getInfo (it has to match the "${validRepoNameRegex.source}" pattern)` + ); + } + + const data = await GHDataLoader.load({ kind: 'pull', ...request }); + const user = data?.author; + const title = data?.title; + const commit = data?.mergeCommit; + + return { + user: user ? user.login : null, + id: null, + pull: request.pull, + commit: commit ? commit.abbreviatedOid : null, + title: title || null, + labels: data ? (data.labels.nodes || []).map((label: { name: string }) => label.name) : null, + links: { + commit: commit ? `[\`${commit.abbreviatedOid}\`](${commit.commitUrl})` : null, + pull: `[#${request.pull}](https://github.com/${request.repo}/pull/${request.pull})`, + user: user ? `[@${user.login}](${user.url})` : null, + }, + }; +} diff --git a/scripts/release/utils/get-unpicked-prs.ts b/scripts/release/utils/get-unpicked-prs.ts new file mode 100644 index 000000000000..6b36f5e00f59 --- /dev/null +++ b/scripts/release/utils/get-unpicked-prs.ts @@ -0,0 +1,70 @@ +/* eslint-disable no-console */ +import type { GraphQlQueryResponseData } from '@octokit/graphql'; +import { githubGraphQlClient } from './github-client'; + +export interface PR { + number: number; + id: string; + branch: string; + title: string; + mergeCommit: string; +} + +export async function getUnpickedPRs(baseBranch: string, verbose?: boolean): Promise> { + console.log(`💬 Getting unpicked patch pull requests...`); + const result = await githubGraphQlClient( + ` + query ($owner: String!, $repo: String!, $state: PullRequestState!, $order: IssueOrder!) { + repository(owner: $owner, name: $repo) { + pullRequests(states: [$state], labels: ["patch"], orderBy: $order, first: 50) { + nodes { + id + number + title + baseRefName + mergeCommit { + abbreviatedOid + } + labels(first: 20) { + nodes { + name + } + } + } + } + } + } + `, + { + owner: 'storybookjs', + repo: 'storybook', + order: { + field: 'UPDATED_AT', + direction: 'ASC', + }, + state: 'MERGED', + } + ); + + const { + pullRequests: { nodes }, + } = result.repository; + + const prs = nodes.map((node: any) => ({ + number: node.number, + id: node.id, + branch: node.baseRefName, + title: node.title, + mergeCommit: node.mergeCommit.abbreviatedOid, + labels: node.labels.nodes.map((l: any) => l.name), + })); + + const unpickedPRs = prs + .filter((pr: any) => !pr.labels.includes('picked')) + .filter((pr: any) => pr.branch === baseBranch); + if (verbose) { + console.log(`🔍 Found unpicked patch pull requests: + ${JSON.stringify(unpickedPRs, null, 2)}`); + } + return unpickedPRs; +} diff --git a/scripts/release/utils/git-client.ts b/scripts/release/utils/git-client.ts new file mode 100644 index 000000000000..9b4e05144f8f --- /dev/null +++ b/scripts/release/utils/git-client.ts @@ -0,0 +1,7 @@ +import { simpleGit } from 'simple-git'; + +export const git = simpleGit(); + +export async function getLatestTag() { + return (await git.tags(['v*', '--sort=-v:refname', '--merged'])).latest; +} diff --git a/scripts/release/utils/github-client.ts b/scripts/release/utils/github-client.ts new file mode 100644 index 000000000000..3c6a2355e0dc --- /dev/null +++ b/scripts/release/utils/github-client.ts @@ -0,0 +1,40 @@ +import type { GraphQlQueryResponseData } from '@octokit/graphql'; +import { graphql } from '@octokit/graphql'; + +export const githubGraphQlClient = graphql.defaults({ + headers: { authorization: `token ${process.env.GH_TOKEN}` }, +}); + +export async function getLabelIds({ + repo: fullRepo, + labelNames, +}: { + labelNames: string[]; + repo: string; +}) { + const query = labelNames.join('+'); + const [owner, repo] = fullRepo.split('/'); + const result = await githubGraphQlClient( + ` + query ($owner: String!, $repo: String!, $q: String!) { + repository(owner: $owner, name: $repo) { + labels(query: $q, first: 10) { + nodes { + id + name + description + } + } + } + } + `, + { owner, repo, q: query } + ); + + const { labels } = result.repository; + const labelToId: Record = {}; + labels.nodes.forEach((label: { name: string; id: string }) => { + labelToId[label.name] = label.id; + }); + return labelToId; +} diff --git a/scripts/release/version.ts b/scripts/release/version.ts new file mode 100644 index 000000000000..03f608567392 --- /dev/null +++ b/scripts/release/version.ts @@ -0,0 +1,260 @@ +/* eslint-disable no-console */ +import { setOutput } from '@actions/core'; +import { readFile, readJson, writeFile, writeJson } from 'fs-extra'; +import chalk from 'chalk'; +import path from 'path'; +import program from 'commander'; +import semver from 'semver'; +import { z } from 'zod'; +import type { Workspace } from '../utils/workspace'; +import { getWorkspaces } from '../utils/workspace'; +import { execaCommand } from '../utils/exec'; + +program + .name('version') + .description('version all packages') + .option( + '-R, --release-type ', + 'Which release type to use to bump the version' + ) + .option('-P, --pre-id ', 'Which prerelease identifer to change to, eg. "alpha", "beta", "rc"') + .option( + '-E, --exact ', + 'Use exact version instead of calculating from current version, eg. "7.2.0-canary.123". Can not be combined with --release-type or --pre-id' + ) + .option('-V, --verbose', 'Enable verbose logging', false); + +const optionsSchema = z + .object({ + releaseType: z + .enum(['major', 'minor', 'patch', 'prerelease', 'premajor', 'preminor', 'prepatch']) + .optional(), + preId: z.string().optional(), + exact: z + .string() + .optional() + .refine((version) => (version ? semver.valid(version) !== null : true), { + message: '--exact version has to be a valid semver string', + }), + verbose: z.boolean().optional(), + }) + .superRefine((schema, ctx) => { + // manual union validation because zod + commander is not great in this case + const hasExact = 'exact' in schema && schema.exact; + const hasReleaseType = 'releaseType' in schema && schema.releaseType; + if ((hasExact && hasReleaseType) || (!hasExact && !hasReleaseType)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: + 'Combining --exact with --release-type is invalid, but having one of them is required', + }); + } + if (schema.preId && !schema.releaseType.startsWith('pre')) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: + 'Using prerelease identifier requires one of release types: premajor, preminor, prepatch, prerelease', + }); + } + return z.NEVER; + }); + +type BaseOptions = { verbose: boolean }; +type BumpOptions = BaseOptions & { + releaseType: semver.ReleaseType; + preId?: string; +}; +type ExactOptions = BaseOptions & { + exact: semver.ReleaseType; +}; +type Options = BumpOptions | ExactOptions; + +const CODE_DIR_PATH = path.join(__dirname, '..', '..', 'code'); +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); + +const validateOptions = (options: { [key: string]: any }): options is Options => { + optionsSchema.parse(options); + return true; +}; + +const getCurrentVersion = async () => { + console.log(`📐 Reading current version of Storybook...`); + const { version } = await readJson(CODE_PACKAGE_JSON_PATH); + return version; +}; + +const bumpCodeVersion = async (nextVersion: string) => { + console.log(`🤜 Bumping version of ${chalk.cyan('code')}'s package.json...`); + + const codePkgJson = await readJson(CODE_PACKAGE_JSON_PATH); + + codePkgJson.version = nextVersion; + await writeJson(CODE_PACKAGE_JSON_PATH, codePkgJson, { spaces: 2 }); + + console.log(`✅ Bumped version of ${chalk.cyan('code')}'s package.json`); +}; + +const bumpAllPackageVersions = async (nextVersion: string, verbose?: boolean) => { + console.log(`🤜 Bumping version of ${chalk.cyan('all packages')}...`); + + console.log(`✅ Bumped version of ${chalk.cyan('all packages')}`); +}; + +const bumpVersionSources = async (currentVersion: string, nextVersion: string) => { + const filesToUpdate = [ + path.join(CODE_DIR_PATH, 'lib', 'manager-api', 'src', 'version.ts'), + path.join(CODE_DIR_PATH, 'lib', 'cli', 'src', 'versions.ts'), + ]; + console.log(`🤜 Bumping versions in...:\n ${chalk.cyan(filesToUpdate.join('\n '))}`); + + await Promise.all( + filesToUpdate.map(async (filename) => { + const currentContent = await readFile(filename, { encoding: 'utf-8' }); + const nextContent = currentContent.replaceAll(currentVersion, nextVersion); + return writeFile(filename, nextContent); + }) + ); + + console.log(`✅ Bumped versions in:\n ${chalk.cyan(filesToUpdate.join('\n '))}`); +}; + +const bumpAllPackageJsons = async ({ + packages, + currentVersion, + nextVersion, + verbose, +}: { + packages: Workspace[]; + currentVersion: string; + nextVersion: string; + verbose?: boolean; +}) => { + console.log( + `🤜 Bumping versions and dependencies in ${chalk.cyan( + `all ${packages.length} package.json` + )}'s...` + ); + // 1. go through all packages in the monorepo + await Promise.all( + packages.map(async (pkg) => { + // 2. get the package.json + const packageJsonPath = path.join(CODE_DIR_PATH, pkg.location, 'package.json'); + const packageJson: { + version: string; + dependencies: Record; + devDependencies: Record; + peerDependencies: Record; + [key: string]: any; + } = await readJson(packageJsonPath); + // 3. bump the version + packageJson.version = nextVersion; + const { dependencies, devDependencies, peerDependencies } = packageJson; + if (verbose) { + console.log( + ` Bumping ${chalk.blue(pkg.name)}'s version to ${chalk.yellow(nextVersion)}` + ); + } + // 4. go through all deps in the package.json + Object.entries({ dependencies, devDependencies, peerDependencies }).forEach( + ([depType, deps]) => { + if (!deps) { + return; + } + // 5. find all storybook deps + Object.entries(deps) + .filter( + ([depName, depVersion]) => + depName.startsWith('@storybook/') && + // ignore storybook dependneices that don't use the current version + depVersion.includes(currentVersion) + ) + .forEach(([depName, depVersion]) => { + // 6. bump the version of any found storybook dep + const nextDepVersion = depVersion.replace(currentVersion, nextVersion); + if (verbose) { + console.log( + ` Bumping ${chalk.blue(pkg.name)}'s ${chalk.red(depType)} on ${chalk.green( + depName + )} from ${chalk.yellow(depVersion)} to ${chalk.yellow(nextDepVersion)}` + ); + } + packageJson[depType][depName] = nextDepVersion; + }); + } + ); + await writeJson(packageJsonPath, packageJson, { spaces: 2 }); + }) + ); + console.log(`✅ Bumped peer dependency versions in ${chalk.cyan('all packages')}`); +}; + +export const run = async (options: unknown) => { + if (!validateOptions(options)) { + return; + } + const { verbose } = options; + + console.log(`🚛 Finding Storybook packages...`); + + const [packages, currentVersion] = await Promise.all([getWorkspaces(), getCurrentVersion()]); + + console.log( + `📦 found ${packages.length} storybook packages at version ${chalk.red(currentVersion)}` + ); + if (verbose) { + const formattedPackages = packages.map( + (pkg) => `${chalk.green(pkg.name.padEnd(60))}: ${chalk.cyan(pkg.location)}` + ); + console.log(`📦 Packages: + ${formattedPackages.join('\n ')}`); + } + + let nextVersion: string; + + if ('exact' in options && options.exact) { + console.log(`📈 Exact version selected: ${chalk.green(options.exact)}`); + nextVersion = options.exact; + } else { + const { releaseType, preId } = options as BumpOptions; + console.log(`📈 Release type selected: ${chalk.green(releaseType)}`); + if (preId) { + console.log(`🆔 Version prerelease identifier selected: ${chalk.yellow(preId)}`); + } + + nextVersion = semver.inc(currentVersion, releaseType, preId); + + console.log( + `⏭ Bumping version ${chalk.blue(currentVersion)} with release type ${chalk.green( + releaseType + )}${ + preId ? ` and ${chalk.yellow(preId)}` : '' + } results in version: ${chalk.bgGreenBright.bold(nextVersion)}` + ); + } + + console.log(`⏭ Bumping all packages to ${chalk.blue(nextVersion)}...`); + + await bumpCodeVersion(nextVersion); + await bumpVersionSources(currentVersion, nextVersion); + await bumpAllPackageJsons({ packages, currentVersion, nextVersion, verbose }); + + console.log(`⬆️ Updating lock file with ${chalk.blue('yarn install --mode=update-lockfile')}`); + await execaCommand(`yarn install --mode=update-lockfile`, { + cwd: path.join(CODE_DIR_PATH), + stdio: verbose ? 'inherit' : undefined, + }); + console.log(`✅ Updated lock file with ${chalk.blue('yarn install --mode=update-lockfile')}`); + + if (process.env.GITHUB_ACTIONS === 'true') { + setOutput('current-version', currentVersion); + setOutput('next-version', nextVersion); + } +}; + +if (require.main === module) { + const options = program.parse().opts(); + run(options).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/release/write-changelog.ts b/scripts/release/write-changelog.ts new file mode 100644 index 000000000000..2fe20f88d4c6 --- /dev/null +++ b/scripts/release/write-changelog.ts @@ -0,0 +1,111 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import path from 'path'; +import program from 'commander'; +import semver from 'semver'; +import { z } from 'zod'; +import { readFile, writeFile } from 'fs-extra'; +import { getChanges } from './utils/get-changes'; + +program + .name('write-changelog') + .description( + 'write changelog based on merged PRs and commits. the argument describes the changelog entry heading, but NOT which commits/PRs to include, must be a semver string' + ) + .arguments('') + .option('-P, --unpicked-patches', 'Set to only consider PRs labeled with "patch" label') + .option( + '-F, --from ', + 'Which tag or commit to generate changelog from, eg. "7.0.7". Leave unspecified to select latest released tag in git history' + ) + .option( + '-T, --to ', + 'Which tag or commit to generate changelog to, eg. "7.1.0-beta.8". Leave unspecified to select HEAD commit' + ) + .option('-D, --dry-run', 'Do not write file, only output to shell', false) + .option('-V, --verbose', 'Enable verbose logging', false); + +const optionsSchema = z.object({ + unpickedPatches: z.boolean().optional(), + from: z.string().optional(), + to: z.string().optional(), + verbose: z.boolean().optional(), + dryRun: z.boolean().optional(), +}); + +type Options = { + unpickedPatches?: boolean; + from?: string; + to?: string; + verbose: boolean; + dryRun?: boolean; +}; + +const validateOptions = (args: unknown[], options: { [key: string]: any }): options is Options => { + optionsSchema.parse(options); + if (args.length !== 1 || !semver.valid(args[0] as string)) { + console.error( + `🚨 Invalid arguments, expected a single argument with the version to generate changelog for, eg. ${chalk.green( + '7.1.0-beta.8' + )}` + ); + return false; + } + return true; +}; + +const writeToFile = async ({ + changelogText, + version, + verbose, +}: { + changelogText: string; + version: string; + verbose?: boolean; +}) => { + const isPrerelease = semver.prerelease(version) !== null; + const changelogFilename = isPrerelease ? 'CHANGELOG.prerelease.md' : 'CHANGELOG.md'; + const changelogPath = path.join(__dirname, '..', '..', changelogFilename); + + if (verbose) { + console.log(`📝 Writing changelog to ${chalk.blue(changelogPath)}`); + } + + const currentChangelog = await readFile(changelogPath, 'utf-8'); + const nextChangelog = [changelogText, currentChangelog].join('\n\n'); + + await writeFile(changelogPath, nextChangelog); +}; + +export const run = async (args: unknown[], options: unknown) => { + if (!validateOptions(args, options)) { + return; + } + const { from, to, unpickedPatches, dryRun, verbose } = options; + const version = args[0] as string; + + console.log( + `💬 Generating changelog for ${chalk.blue(version)} between ${chalk.green( + from || 'latest' + )} and ${chalk.green(to || 'HEAD')}` + ); + + const { changelogText } = await getChanges({ version, from, to, unpickedPatches, verbose }); + + if (dryRun) { + console.log(`📝 Dry run, not writing file`); + return; + } + + await writeToFile({ changelogText, version, verbose }); + + console.log(`✅ Wrote Changelog to file`); +}; + +if (require.main === module) { + const parsed = program.parse(); + run(parsed.args, parsed.opts()).catch((err) => { + console.error(err); + process.exit(1); + }); +} diff --git a/scripts/utils/command.ts b/scripts/utils/command.ts index f1167f6993df..c7994e57c783 100644 --- a/scripts/utils/command.ts +++ b/scripts/utils/command.ts @@ -1,13 +1,13 @@ -import type { ExecOptions } from 'shelljs'; -import shell from 'shelljs'; +import { sync as spawnSync } from 'cross-spawn'; + +type ExecOptions = Parameters[2]; export const exec = async (command: string, options: ExecOptions = {}) => new Promise((resolve, reject) => { - shell.exec(command, options, (code) => { - if (code === 0) { - resolve(); - } else { - reject(new Error(`command exited with code: ${code}`)); - } - }); + const x = spawnSync(command, options); + if (x.status === 0) { + resolve(undefined); + } else { + reject(new Error(`command exited with code: ${x.status}: `)); + } }); diff --git a/scripts/utils/options.ts b/scripts/utils/options.ts index b741d80afcb2..8d398bed8784 100644 --- a/scripts/utils/options.ts +++ b/scripts/utils/options.ts @@ -7,6 +7,7 @@ import type { PromptObject, Falsy, PrevCaller, PromptType } from 'prompts'; import program from 'commander'; import dedent from 'ts-dedent'; import chalk from 'chalk'; +// eslint-disable-next-line import/extensions import kebabCase from 'lodash/kebabCase.js'; // Option types diff --git a/scripts/utils/workspace.ts b/scripts/utils/workspace.ts index c490d593f1b5..3219c558599f 100644 --- a/scripts/utils/workspace.ts +++ b/scripts/utils/workspace.ts @@ -4,7 +4,7 @@ import { execaCommand } from './exec'; export type Workspace = { name: string; location: string }; -async function getWorkspaces() { +export async function getWorkspaces() { const { stdout } = await execaCommand('yarn workspaces list --json', { cwd: CODE_DIRECTORY, shell: true, diff --git a/scripts/utils/yarn.ts b/scripts/utils/yarn.ts index f34bd1370764..9cdeff5b835c 100644 --- a/scripts/utils/yarn.ts +++ b/scripts/utils/yarn.ts @@ -24,7 +24,9 @@ export const addPackageResolutions = async ({ cwd, dryRun }: YarnOptions) => { ...storybookVersions, 'enhanced-resolve': '~5.10.0', // TODO, remove this // this is for our CI test, ensure we use the same version as docker image, it should match version specified in `./code/package.json` and `.circleci/config.yml` - '@playwright/test': '^1.34.3', + playwright: '^1.35.0', + 'playwright-core': '^1.35.0', + '@playwright/test': '^1.35.0', }; await writeJSON(packageJsonPath, packageJson, { spaces: 2 }); }; diff --git a/scripts/yarn.lock b/scripts/yarn.lock index 3838ff6fc694..e4e07a50ac9e 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -5,6 +5,25 @@ __metadata: version: 6 cacheKey: 8c0 +"@actions/core@npm:^1.10.0": + version: 1.10.0 + resolution: "@actions/core@npm:1.10.0" + dependencies: + "@actions/http-client": ^2.0.1 + uuid: ^8.3.2 + checksum: 9214d1e0cf5cf2a5d48b8f3b12488c6be9f6722ea60f2397409226e8410b5a3e12e558d9b66c93469d180399865ec20180119408a1770f026bd9ecac6965fcda + languageName: node + linkType: hard + +"@actions/http-client@npm:^2.0.1": + version: 2.1.0 + resolution: "@actions/http-client@npm:2.1.0" + dependencies: + tunnel: ^0.0.6 + checksum: 3936947d05c394ec3365a8757e13bd8cd0fb124cc1503254e46a95b2b8342fbf3f2a3c13d56d37e1d6705939cf2808dc64b4a38b75f83995fdc2e878e3aef89c + languageName: node + linkType: hard + "@adobe/css-tools@npm:^4.0.1": version: 4.2.0 resolution: "@adobe/css-tools@npm:4.2.0" @@ -61,7 +80,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.0, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.22.0, @babel/generator@npm:^7.22.3, @babel/generator@npm:^7.7.2": version: 7.22.3 resolution: "@babel/generator@npm:7.22.3" dependencies: @@ -340,12 +359,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.9, @babel/parser@npm:^7.22.0, @babel/parser@npm:^7.7.0": - version: 7.22.3 - resolution: "@babel/parser@npm:7.22.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.9, @babel/parser@npm:^7.22.0, @babel/parser@npm:^7.22.4, @babel/parser@npm:^7.7.0": + version: 7.22.4 + resolution: "@babel/parser@npm:7.22.4" bin: parser: ./bin/babel-parser.js - checksum: 292049a0446bf23756e14eefc407e6557319cccae3226f4e720800a115a56e6201bd041b8a4d97bac8fb61dee4d8043cf2df898af1b07efe7190e8a33fc5a764 + checksum: 86e2abfb60faf523dc97d19f41388d8e46c02af306374618d638c960a49e74f8c23ef73032b5bde6011d64ee23820388427bd1d00a54be68f2e4545fa0c5b9bb languageName: node linkType: hard @@ -360,7 +379,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.0": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.3" dependencies: @@ -401,8 +420,8 @@ __metadata: linkType: hard "@babel/plugin-proposal-private-property-in-object@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0" + version: 7.21.11 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.11" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-create-class-features-plugin": ^7.21.0 @@ -410,7 +429,7 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 576ec99964c50435a81dfe4178d064df9aa86628090d69bae8759332b9a2b5a0a8575a6f51db915c3751949cd29990b8b3a80c6afc228a0664f4237b7b60d667 + checksum: 3c8c9ea175101b1cbb2b0e8fee20fcbdd03eb0700d3581aa826ac3573c9b002f39b1512c2af9fd1903ff921bcc864da95ad3cdeba53c9fbcfb3dc23916eacf47 languageName: node linkType: hard @@ -514,7 +533,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.22.0": +"@babel/plugin-syntax-import-attributes@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.3" dependencies: @@ -680,7 +699,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.22.0": +"@babel/plugin-transform-async-generator-functions@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.3" dependencies: @@ -729,7 +748,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.0": +"@babel/plugin-transform-class-properties@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-class-properties@npm:7.22.3" dependencies: @@ -741,7 +760,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.22.0": +"@babel/plugin-transform-class-static-block@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-class-static-block@npm:7.22.3" dependencies: @@ -843,7 +862,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.22.0": +"@babel/plugin-transform-export-namespace-from@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.3" dependencies: @@ -879,7 +898,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.22.0": +"@babel/plugin-transform-json-strings@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-json-strings@npm:7.22.3" dependencies: @@ -902,7 +921,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.0": +"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.3" dependencies: @@ -950,7 +969,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.22.0": +"@babel/plugin-transform-modules-systemjs@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.3" dependencies: @@ -976,7 +995,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.0": +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.3" dependencies: @@ -988,7 +1007,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.22.0": +"@babel/plugin-transform-new-target@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-new-target@npm:7.22.3" dependencies: @@ -999,7 +1018,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.0": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.3" dependencies: @@ -1011,7 +1030,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.22.0": +"@babel/plugin-transform-numeric-separator@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.3" dependencies: @@ -1023,7 +1042,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.22.0": +"@babel/plugin-transform-object-rest-spread@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.3" dependencies: @@ -1050,7 +1069,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.22.0": +"@babel/plugin-transform-optional-catch-binding@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.3" dependencies: @@ -1062,7 +1081,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.22.0, @babel/plugin-transform-optional-chaining@npm:^7.22.3": +"@babel/plugin-transform-optional-chaining@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.3" dependencies: @@ -1075,7 +1094,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.22.0, @babel/plugin-transform-parameters@npm:^7.22.3": +"@babel/plugin-transform-parameters@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-parameters@npm:7.22.3" dependencies: @@ -1086,7 +1105,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.0": +"@babel/plugin-transform-private-methods@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-private-methods@npm:7.22.3" dependencies: @@ -1098,7 +1117,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.22.0": +"@babel/plugin-transform-private-property-in-object@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.3" dependencies: @@ -1276,7 +1295,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.22.0": +"@babel/plugin-transform-unicode-property-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.3" dependencies: @@ -1300,7 +1319,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.0": +"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.3": version: 7.22.3 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.3" dependencies: @@ -1312,26 +1331,16 @@ __metadata: languageName: node linkType: hard -"@babel/polyfill@npm:^7.2.5": - version: 7.12.1 - resolution: "@babel/polyfill@npm:7.12.1" - dependencies: - core-js: ^2.6.5 - regenerator-runtime: ^0.13.4 - checksum: f5d233d2958582e8678838c32c42ba780965119ebb3771d9b9735f85efabc7b8b49161e7d908477486e0aaf8508410e957be764c27a6a828714fb9d1b7f80bc3 - languageName: node - linkType: hard - "@babel/preset-env@npm:^7.22.0": - version: 7.22.2 - resolution: "@babel/preset-env@npm:7.22.2" + version: 7.22.4 + resolution: "@babel/preset-env@npm:7.22.4" dependencies: - "@babel/compat-data": ^7.22.0 + "@babel/compat-data": ^7.22.3 "@babel/helper-compilation-targets": ^7.22.1 "@babel/helper-plugin-utils": ^7.21.5 "@babel/helper-validator-option": ^7.21.0 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.18.6 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.0 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.3 "@babel/plugin-proposal-private-property-in-object": ^7.21.0 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 @@ -1339,7 +1348,7 @@ __metadata: "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 "@babel/plugin-syntax-import-assertions": ^7.20.0 - "@babel/plugin-syntax-import-attributes": ^7.22.0 + "@babel/plugin-syntax-import-attributes": ^7.22.3 "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/plugin-syntax-json-strings": ^7.8.3 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 @@ -1352,12 +1361,12 @@ __metadata: "@babel/plugin-syntax-top-level-await": ^7.14.5 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 "@babel/plugin-transform-arrow-functions": ^7.21.5 - "@babel/plugin-transform-async-generator-functions": ^7.22.0 + "@babel/plugin-transform-async-generator-functions": ^7.22.3 "@babel/plugin-transform-async-to-generator": ^7.20.7 "@babel/plugin-transform-block-scoped-functions": ^7.18.6 "@babel/plugin-transform-block-scoping": ^7.21.0 - "@babel/plugin-transform-class-properties": ^7.22.0 - "@babel/plugin-transform-class-static-block": ^7.22.0 + "@babel/plugin-transform-class-properties": ^7.22.3 + "@babel/plugin-transform-class-static-block": ^7.22.3 "@babel/plugin-transform-classes": ^7.21.0 "@babel/plugin-transform-computed-properties": ^7.21.5 "@babel/plugin-transform-destructuring": ^7.21.3 @@ -1365,28 +1374,28 @@ __metadata: "@babel/plugin-transform-duplicate-keys": ^7.18.9 "@babel/plugin-transform-dynamic-import": ^7.22.1 "@babel/plugin-transform-exponentiation-operator": ^7.18.6 - "@babel/plugin-transform-export-namespace-from": ^7.22.0 + "@babel/plugin-transform-export-namespace-from": ^7.22.3 "@babel/plugin-transform-for-of": ^7.21.5 "@babel/plugin-transform-function-name": ^7.18.9 - "@babel/plugin-transform-json-strings": ^7.22.0 + "@babel/plugin-transform-json-strings": ^7.22.3 "@babel/plugin-transform-literals": ^7.18.9 - "@babel/plugin-transform-logical-assignment-operators": ^7.22.0 + "@babel/plugin-transform-logical-assignment-operators": ^7.22.3 "@babel/plugin-transform-member-expression-literals": ^7.18.6 "@babel/plugin-transform-modules-amd": ^7.20.11 "@babel/plugin-transform-modules-commonjs": ^7.21.5 - "@babel/plugin-transform-modules-systemjs": ^7.22.0 + "@babel/plugin-transform-modules-systemjs": ^7.22.3 "@babel/plugin-transform-modules-umd": ^7.18.6 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.0 - "@babel/plugin-transform-new-target": ^7.22.0 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.0 - "@babel/plugin-transform-numeric-separator": ^7.22.0 - "@babel/plugin-transform-object-rest-spread": ^7.22.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.3 + "@babel/plugin-transform-new-target": ^7.22.3 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.3 + "@babel/plugin-transform-numeric-separator": ^7.22.3 + "@babel/plugin-transform-object-rest-spread": ^7.22.3 "@babel/plugin-transform-object-super": ^7.18.6 - "@babel/plugin-transform-optional-catch-binding": ^7.22.0 - "@babel/plugin-transform-optional-chaining": ^7.22.0 - "@babel/plugin-transform-parameters": ^7.22.0 - "@babel/plugin-transform-private-methods": ^7.22.0 - "@babel/plugin-transform-private-property-in-object": ^7.22.0 + "@babel/plugin-transform-optional-catch-binding": ^7.22.3 + "@babel/plugin-transform-optional-chaining": ^7.22.3 + "@babel/plugin-transform-parameters": ^7.22.3 + "@babel/plugin-transform-private-methods": ^7.22.3 + "@babel/plugin-transform-private-property-in-object": ^7.22.3 "@babel/plugin-transform-property-literals": ^7.18.6 "@babel/plugin-transform-regenerator": ^7.21.5 "@babel/plugin-transform-reserved-words": ^7.18.6 @@ -1396,19 +1405,19 @@ __metadata: "@babel/plugin-transform-template-literals": ^7.18.9 "@babel/plugin-transform-typeof-symbol": ^7.18.9 "@babel/plugin-transform-unicode-escapes": ^7.21.5 - "@babel/plugin-transform-unicode-property-regex": ^7.22.0 + "@babel/plugin-transform-unicode-property-regex": ^7.22.3 "@babel/plugin-transform-unicode-regex": ^7.18.6 - "@babel/plugin-transform-unicode-sets-regex": ^7.22.0 + "@babel/plugin-transform-unicode-sets-regex": ^7.22.3 "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.22.0 - babel-plugin-polyfill-corejs2: ^0.4.2 + "@babel/types": ^7.22.4 + babel-plugin-polyfill-corejs2: ^0.4.3 babel-plugin-polyfill-corejs3: ^0.8.1 babel-plugin-polyfill-regenerator: ^0.5.0 core-js-compat: ^3.30.2 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2b43f6c940fa0481a280cb344af92d2e692ff704e99860090cfdeb9e12b1f4ca43199b182c5f7c660f34b9c62aa564893bb94922934f26a20beec1c4190d3847 + checksum: 1a17ead679aed23112d3e0cdc6f9fbb60ec4a6a411de25f447bb25d8c64a9e5fc63547fad10f87b68ad09512d500a37aed1e9a62c9f05f3003da3e178476d3cb languageName: node linkType: hard @@ -1496,31 +1505,31 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.22.1, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2": - version: 7.22.1 - resolution: "@babel/traverse@npm:7.22.1" + version: 7.22.4 + resolution: "@babel/traverse@npm:7.22.4" dependencies: "@babel/code-frame": ^7.21.4 - "@babel/generator": ^7.22.0 + "@babel/generator": ^7.22.3 "@babel/helper-environment-visitor": ^7.22.1 "@babel/helper-function-name": ^7.21.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.22.0 - "@babel/types": ^7.22.0 + "@babel/parser": ^7.22.4 + "@babel/types": ^7.22.4 debug: ^4.1.0 globals: ^11.1.0 - checksum: 4d5d4cfc86fede010631eda9486be023cb2d379f42ab953b2d00c5b19c262931377a100d758ca9fc173405d64534bd53765a1bc3f5cbe544c4a784f31e6d37e5 + checksum: 350ddd9bc9f1243f44c552503a31e09d8bdf24e692c1836de91ac773006890fcaa1de32ea620ac86568795f9c80e39229781f2dca4a95bd35a777203c5210370 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.0, @babel/types@npm:^7.22.3, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": - version: 7.22.3 - resolution: "@babel/types@npm:7.22.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.0, @babel/types@npm:^7.22.3, @babel/types@npm:^7.22.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": + version: 7.22.4 + resolution: "@babel/types@npm:7.22.4" dependencies: "@babel/helper-string-parser": ^7.21.5 "@babel/helper-validator-identifier": ^7.19.1 to-fast-properties: ^2.0.0 - checksum: 16977448dc39b091f155695a6bfe91bf1b7016b96b63a74817618d165fe684edcf589565656ee2fddc370c03985c42c0d5ce58d2b7e6be32abfb0fc1a556aaac + checksum: 6e62674eec13b6dbef38168b09638642105483b1a026c8b517a2fe3cee0e37e457d976e82d42dd4ff475cfff4f44e337215bdf6b184662841b19edf7268c6d04 languageName: node linkType: hard @@ -1767,10 +1776,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.41.0": - version: 8.41.0 - resolution: "@eslint/js@npm:8.41.0" - checksum: 41cf403ccebbc90315c7190bd901fa17975327022146b2db8c846ec5b11d04c56b33ccf9064b9da7349068e96bef8f322423fbcce700d815b4097fd808aaa4c6 +"@eslint/js@npm:8.42.0": + version: 8.42.0 + resolution: "@eslint/js@npm:8.42.0" + checksum: 4ae46df1f32095cf9527d1f6a8a30512151f8eb66dd883a226face17c9e7cfdd2dcb3d4e3124fb67ac5801e0a776b1d7bba368276cfb1e1e4eefb047e38b41d6 languageName: node linkType: hard @@ -1781,12 +1790,39 @@ __metadata: languageName: node linkType: hard -"@graphql-typed-document-node/core@npm:^3.1.0": - version: 3.2.0 - resolution: "@graphql-typed-document-node/core@npm:3.2.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 94e9d75c1f178bbae8d874f5a9361708a3350c8def7eaeb6920f2c820e82403b7d4f55b3735856d68e145e86c85cbfe2adc444fdc25519cd51f108697e99346c +"@gitbeaker/core@npm:^21.7.0": + version: 21.7.0 + resolution: "@gitbeaker/core@npm:21.7.0" + dependencies: + "@gitbeaker/requester-utils": ^21.7.0 + form-data: ^3.0.0 + li: ^1.3.0 + xcase: ^2.0.1 + checksum: 907f1dac7f43e288c71f184243712a65601a88ab7c9a8b7ff76629d8d94360c31f995b8142dec324615ad50f7e78e12f646a4302cb595dc990da3cdbd2514dfe + languageName: node + linkType: hard + +"@gitbeaker/node@npm:^21.3.0": + version: 21.7.0 + resolution: "@gitbeaker/node@npm:21.7.0" + dependencies: + "@gitbeaker/core": ^21.7.0 + "@gitbeaker/requester-utils": ^21.7.0 + form-data: ^3.0.0 + got: ^11.1.4 + xcase: ^2.0.1 + checksum: c5be30593dae749271f8529a0e33a1831f173d7e39796c9e30206a71e3007cc6368c802d296f1a8fcca056a8e718c77f50ae61aa17de8e444f0c91bf1a05950c + languageName: node + linkType: hard + +"@gitbeaker/requester-utils@npm:^21.7.0": + version: 21.7.0 + resolution: "@gitbeaker/requester-utils@npm:21.7.0" + dependencies: + form-data: ^3.0.0 + query-string: ^6.12.1 + xcase: ^2.0.1 + checksum: 1930783d67a8add51bd6056e0524facfc867fb73d78387af4259a166a5e725eaa64a4c22c0fe33538762b0abb496781bf39d95fc8d544825354254dd05e05271 languageName: node linkType: hard @@ -1806,14 +1842,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.8": - version: 0.11.8 - resolution: "@humanwhocodes/config-array@npm:0.11.8" +"@humanwhocodes/config-array@npm:^0.11.10": + version: 0.11.10 + resolution: "@humanwhocodes/config-array@npm:0.11.10" dependencies: "@humanwhocodes/object-schema": ^1.2.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: 441223496cc5ae3ae443e11e2ba05f03f6418d1e0233e3d160b027dda742d7a957fa9e1d56125d5829079419c797c13e1ae8ffe3454f268901ac18f68e0198f1 + checksum: 9e307a49a5baa28beb243d2c14c145f288fccd6885f4c92a9055707057ec40980242256b2a07c976cfa6c75f7081da111a40a9844d1ca8daeff2302f8b640e76 languageName: node linkType: hard @@ -2194,14 +2230,19 @@ __metadata: languageName: node linkType: hard -"@linear/sdk@npm:^1.22.0": - version: 1.22.0 - resolution: "@linear/sdk@npm:1.22.0" +"@kwsites/file-exists@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/file-exists@npm:1.1.1" dependencies: - "@graphql-typed-document-node/core": ^3.1.0 - graphql: ^15.4.0 - isomorphic-unfetch: ^3.1.0 - checksum: 7e8f24f617631d027fd606334a498b04014d4c33603bcb3e08073d14f86260d116597983567f8bc147a935e4557180158175b52b9a9a8a270a234b946894a82b + debug: ^4.1.1 + checksum: 39e693239a72ccd8408bb618a0200e4a8d61682057ca7ae2c87668d7e69196e8d7e2c9cde73db6b23b3b0230169a15e5f1bfe086539f4be43e767b2db68e8ee4 + languageName: node + linkType: hard + +"@kwsites/promise-deferred@npm:^1.1.1": + version: 1.1.1 + resolution: "@kwsites/promise-deferred@npm:1.1.1" + checksum: ef1ad3f1f50991e3bed352b175986d8b4bc684521698514a2ed63c1d1fc9848843da4f2bc2df961c9b148c94e1c34bf33f0da8a90ba2234e452481f2cc9937b1 languageName: node linkType: hard @@ -2466,6 +2507,17 @@ __metadata: languageName: node linkType: hard +"@octokit/endpoint@npm:^7.0.0": + version: 7.0.5 + resolution: "@octokit/endpoint@npm:7.0.5" + dependencies: + "@octokit/types": ^9.0.0 + is-plain-object: ^5.0.0 + universal-user-agent: ^6.0.0 + checksum: 68de3e40b4d2b4d3decfc3e23480d5a781275ebf86d084a38ba70c5d46a6cad051b63332da1768a64d58b0b810c5b57401a3892dff4dd0060d8b6b31d78fc2f5 + languageName: node + linkType: hard + "@octokit/graphql@npm:^4.3.1, @octokit/graphql@npm:^4.5.8": version: 4.8.0 resolution: "@octokit/graphql@npm:4.8.0" @@ -2477,6 +2529,17 @@ __metadata: languageName: node linkType: hard +"@octokit/graphql@npm:^5.0.5": + version: 5.0.6 + resolution: "@octokit/graphql@npm:5.0.6" + dependencies: + "@octokit/request": ^6.0.0 + "@octokit/types": ^9.0.0 + universal-user-agent: ^6.0.0 + checksum: de1d839d97fe6d96179925f6714bf96e7af6f77929892596bb4211adab14add3291fc5872b269a3d0e91a4dcf248d16096c82606c4a43538cf241b815c2e2a36 + languageName: node + linkType: hard + "@octokit/openapi-types@npm:^12.11.0": version: 12.11.0 resolution: "@octokit/openapi-types@npm:12.11.0" @@ -2484,12 +2547,10 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^1.1.1": - version: 1.1.2 - resolution: "@octokit/plugin-paginate-rest@npm:1.1.2" - dependencies: - "@octokit/types": ^2.0.1 - checksum: c0b42a7eb92c6b3fb254e85750fe48b667682be277dc9ccafbb91da241fc18396867739b058ae89d48455b3e75eb2967ac5e196fe54a276b58ed56173f5cd188 +"@octokit/openapi-types@npm:^17.2.0": + version: 17.2.0 + resolution: "@octokit/openapi-types@npm:17.2.0" + checksum: baec94b9c300171245d8b0592867ef96d3aa9cbb3261e961c5138e91894e165fffc421288d98f51031af12ab4149efb7ba597d79dee2e5b5a38962348528b1e5 languageName: node linkType: hard @@ -2513,16 +2574,6 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:2.4.0": - version: 2.4.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:2.4.0" - dependencies: - "@octokit/types": ^2.0.1 - deprecation: ^2.3.1 - checksum: eedb9e6c3589651a391aa2c850d33fbfb01c94448d5da85b6208ff1fc05d556b05e660db019306c473149727ed83c5711f138179a39651d2cd548a8da2c4bc73 - languageName: node - linkType: hard - "@octokit/plugin-rest-endpoint-methods@npm:3.17.0": version: 3.17.0 resolution: "@octokit/plugin-rest-endpoint-methods@npm:3.17.0" @@ -2545,29 +2596,29 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^1.0.2": - version: 1.2.1 - resolution: "@octokit/request-error@npm:1.2.1" +"@octokit/request-error@npm:^2.0.5, @octokit/request-error@npm:^2.1.0": + version: 2.1.0 + resolution: "@octokit/request-error@npm:2.1.0" dependencies: - "@octokit/types": ^2.0.0 + "@octokit/types": ^6.0.3 deprecation: ^2.0.0 once: ^1.4.0 - checksum: 0142170094b5c963de7012aa7d081c3aa05ce19ccd365447c9ca57d475bdf64a79549cb2d5e14348deabdb3c6577966e5f6996eeaa5ea3750b87688cc1c0a0f1 + checksum: eb50eb2734aa903f1e855ac5887bb76d6f237a3aaa022b09322a7676c79bb8020259b25f84ab895c4fc7af5cc736e601ec8cc7e9040ca4629bac8cb393e91c40 languageName: node linkType: hard -"@octokit/request-error@npm:^2.0.5, @octokit/request-error@npm:^2.1.0": - version: 2.1.0 - resolution: "@octokit/request-error@npm:2.1.0" +"@octokit/request-error@npm:^3.0.0": + version: 3.0.3 + resolution: "@octokit/request-error@npm:3.0.3" dependencies: - "@octokit/types": ^6.0.3 + "@octokit/types": ^9.0.0 deprecation: ^2.0.0 once: ^1.4.0 - checksum: eb50eb2734aa903f1e855ac5887bb76d6f237a3aaa022b09322a7676c79bb8020259b25f84ab895c4fc7af5cc736e601ec8cc7e9040ca4629bac8cb393e91c40 + checksum: 1e252ac193c8af23b709909911aa327ed5372cbafcba09e4aff41e0f640a7c152579ab0a60311a92e37b4e7936392d59ee4c2feae5cdc387ee8587a33d8afa60 languageName: node linkType: hard -"@octokit/request@npm:^5.2.0, @octokit/request@npm:^5.4.0, @octokit/request@npm:^5.6.0, @octokit/request@npm:^5.6.3": +"@octokit/request@npm:^5.4.0, @octokit/request@npm:^5.6.0, @octokit/request@npm:^5.6.3": version: 5.6.3 resolution: "@octokit/request@npm:5.6.3" dependencies: @@ -2581,7 +2632,21 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^16.43.0 || ^17.11.0 || ^18.12.0": +"@octokit/request@npm:^6.0.0": + version: 6.2.5 + resolution: "@octokit/request@npm:6.2.5" + dependencies: + "@octokit/endpoint": ^7.0.0 + "@octokit/request-error": ^3.0.0 + "@octokit/types": ^9.0.0 + is-plain-object: ^5.0.0 + node-fetch: ^2.6.7 + universal-user-agent: ^6.0.0 + checksum: 1f9feaedd75156ffc5b05294974e18b1798a3350ed99acb6d7f9d7b76fc338a47cb9d88b927e7d506894edf49e3a1ef1e18d877403a0aa386d0037b734ab59e4 + languageName: node + linkType: hard + +"@octokit/rest@npm:^16.43.0 || ^17.11.0 || ^18.12.0, @octokit/rest@npm:^18.12.0": version: 18.12.0 resolution: "@octokit/rest@npm:18.12.0" dependencies: @@ -2593,30 +2658,6 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^16.43.1": - version: 16.43.2 - resolution: "@octokit/rest@npm:16.43.2" - dependencies: - "@octokit/auth-token": ^2.4.0 - "@octokit/plugin-paginate-rest": ^1.1.1 - "@octokit/plugin-request-log": ^1.0.0 - "@octokit/plugin-rest-endpoint-methods": 2.4.0 - "@octokit/request": ^5.2.0 - "@octokit/request-error": ^1.0.2 - atob-lite: ^2.0.0 - before-after-hook: ^2.0.0 - btoa-lite: ^1.0.0 - deprecation: ^2.0.0 - lodash.get: ^4.4.2 - lodash.set: ^4.3.2 - lodash.uniq: ^4.5.0 - octokit-pagination-methods: ^1.1.0 - once: ^1.4.0 - universal-user-agent: ^4.0.0 - checksum: 8e51e16a54dcffb007aeefa48d6dda98f84737c044e15c9e8b123765efcf546b5f3465b37e11666f502d637fac3d4c2ef770ed9e7ba7e21330d1b6d773eccde7 - languageName: node - linkType: hard - "@octokit/rest@npm:^17.1.1": version: 17.11.2 resolution: "@octokit/rest@npm:17.11.2" @@ -2629,15 +2670,6 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^2.0.0, @octokit/types@npm:^2.0.1": - version: 2.16.2 - resolution: "@octokit/types@npm:2.16.2" - dependencies: - "@types/node": ">= 8" - checksum: 8f324639ea2792f38dee104970f7d74584da6747ca41a5f709e0dcd54bc55095af3c47845a284f132ced4dec5a6d5a9c61ed77c3adaccfb5ad7f347fcb1a55b3 - languageName: node - linkType: hard - "@octokit/types@npm:^4.1.6": version: 4.1.10 resolution: "@octokit/types@npm:4.1.10" @@ -2665,6 +2697,15 @@ __metadata: languageName: node linkType: hard +"@octokit/types@npm:^9.0.0": + version: 9.2.3 + resolution: "@octokit/types@npm:9.2.3" + dependencies: + "@octokit/openapi-types": ^17.2.0 + checksum: 9604939ed79be2298827e832177bb8e871d44170144a7504adb0c399966e45361fb909ccffacbd7151f08b94d2e739c6a2d1c0b9a2f9a4bde09c968d27060514 + languageName: node + linkType: hard + "@parcel/watcher@npm:2.0.4": version: 2.0.4 resolution: "@parcel/watcher@npm:2.0.4" @@ -2729,6 +2770,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/is@npm:^4.0.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + "@sinonjs/commons@npm:^3.0.0": version: 3.0.0 resolution: "@sinonjs/commons@npm:3.0.0" @@ -2747,41 +2795,41 @@ __metadata: languageName: node linkType: hard -"@storybook/channel-postmessage@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/channel-postmessage@npm:7.1.0-alpha.25" +"@storybook/channel-postmessage@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/channel-postmessage@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/global": ^5.0.0 qs: ^6.10.0 telejson: ^7.0.3 tiny-invariant: ^1.3.1 - checksum: adfd3799787baaa6b68a552bf59b445c7bcdcc8b8772177ce239258df8e239ece6d3503666356d8f039cfd05ac620ba9a7c21f5a06f1395c8b0724c07a5fe5b7 + checksum: 1e3002cc791026923d5961ce373b8208a95c50d11e3ea8b748a79c05a5744128aac42d9a3d1cdd9f9ad61827e64227fd0b4246cc7b42c834e3702a3182e87eab languageName: node linkType: hard -"@storybook/channels@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/channels@npm:7.1.0-alpha.25" - checksum: b229a080332a1cad9b7acd8fa3f04e976ab409a851af709f376322e9dca19b687fbbcc69e0f5da2f526eef2d3aff0d9c90af61f3783de0b44af1c2460be92c22 +"@storybook/channels@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/channels@npm:7.1.0-alpha.29" + checksum: 62c4b7f3852354dfc9013b5d2f51524325351772690765abefaba720c573abae230149c793d3424c62f58cf8ea0897fbd73aeb17daa511fa18fab142dcf31e82 languageName: node linkType: hard -"@storybook/client-logger@npm:7.1.0-alpha.25, @storybook/client-logger@npm:future": - version: 7.1.0-alpha.25 - resolution: "@storybook/client-logger@npm:7.1.0-alpha.25" +"@storybook/client-logger@npm:7.1.0-alpha.29, @storybook/client-logger@npm:future": + version: 7.1.0-alpha.29 + resolution: "@storybook/client-logger@npm:7.1.0-alpha.29" dependencies: "@storybook/global": ^5.0.0 - checksum: dd8a98ee1c8bba4098c47df79ae9812f7f39cadafb55be79917ce62ec1db35b8e919fa27f62f359644bad2f3d2bf6fb64cc89570e3ad0d4b0bc5a319bf36126e + checksum: 928cf347346cf85a747216f2387cc240ed2395d508358be4ed93d0319af1a25e326f8456125feef923f6d014000a2bf95cf43140cc4fcddd510a852478f05f39 languageName: node linkType: hard -"@storybook/core-events@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/core-events@npm:7.1.0-alpha.25" - checksum: 2987da4e4ef8377f9616e80d7d8696c352643cd2450283862e299311eb2c5dbce3de0df50c9955421fd9d606d517af234d6c0980c1eaefb8b01bc273b759d755 +"@storybook/core-events@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/core-events@npm:7.1.0-alpha.29" + checksum: 6a266433427b06aa99f0e02dbaad9d545a22e6e3c0487e1bbcc78d3782bee91e8062ed08b44461749069dd519d2cec9af76dbeb03ee452e4bcc78b0c04fc64e5 languageName: node linkType: hard @@ -2795,11 +2843,11 @@ __metadata: linkType: hard "@storybook/csf@npm:^0.1.0": - version: 0.1.0 - resolution: "@storybook/csf@npm:0.1.0" + version: 0.1.1 + resolution: "@storybook/csf@npm:0.1.1" dependencies: type-fest: ^2.19.0 - checksum: 76e284884eacb54bb2130448c45204d64e9ca436d73614d3369d72049b1e786e31e55c0bbb922b8e1069fecbc97a3d68796d401f8e3d93d7ffba0df59b6d8cbe + checksum: 999bb87fbbe047a559bbaa5baf2ed84872fcd5cdcae3c1169f8e4c641eefe8759d09a09034a78ed114032c0e5cf6301b7fa89e5e3ce60d75cf0bd5e33ec0a6e7 languageName: node linkType: hard @@ -2829,15 +2877,15 @@ __metadata: linkType: hard "@storybook/instrumenter@npm:future": - version: 7.1.0-alpha.25 - resolution: "@storybook/instrumenter@npm:7.1.0-alpha.25" + version: 7.1.0-alpha.29 + resolution: "@storybook/instrumenter@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.1.0-alpha.25 - checksum: c868155e6255ea84512202040febb4eaf711a0322184614c073d3b4d5b9440ec61b60ee4d2bcc5db495b109378516d7eb70363d2ca36cac5481e2a72d33758a2 + "@storybook/preview-api": 7.1.0-alpha.29 + checksum: a401ad429008be2c06eead8e52f4d1db73fcbb0e5a4ba406e82a034d46057752c8bdad9912cb2df2b48954fc4c75ba96a6895fe33f1df934ae12b0e2bec4d46c languageName: node linkType: hard @@ -2880,17 +2928,17 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/preview-api@npm:7.1.0-alpha.25" +"@storybook/preview-api@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/preview-api@npm:7.1.0-alpha.29" dependencies: - "@storybook/channel-postmessage": 7.1.0-alpha.25 - "@storybook/channels": 7.1.0-alpha.25 - "@storybook/client-logger": 7.1.0-alpha.25 - "@storybook/core-events": 7.1.0-alpha.25 + "@storybook/channel-postmessage": 7.1.0-alpha.29 + "@storybook/channels": 7.1.0-alpha.29 + "@storybook/client-logger": 7.1.0-alpha.29 + "@storybook/core-events": 7.1.0-alpha.29 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.1.0-alpha.25 + "@storybook/types": 7.1.0-alpha.29 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -2899,7 +2947,7 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: 5417a2c46815e34f68e6dfed0c09061550852e7bc618eaea71ebe800dec7b021dc3a967ee7b3717f17b7bfd11333d69f36af5e02cd3dbb7326f4a6bb976178f3 + checksum: be648b02a0b3218e837f7b15389487da2d146174e0aa919c4383b09630a541abf850595b74642a1e409ad5a96fba6224af03bd87f5de556dcc51f380cf34c1d3 languageName: node linkType: hard @@ -2907,6 +2955,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/scripts@workspace:." dependencies: + "@actions/core": ^1.10.0 "@babel/core": ^7.22.0 "@babel/plugin-proposal-class-properties": ^7.18.6 "@babel/plugin-proposal-decorators": ^7.22.0 @@ -2920,8 +2969,8 @@ __metadata: "@babel/types": ^7.22.0 "@emotion/jest": ^11.10.5 "@jest/globals": ^29.3.1 - "@linear/sdk": ^1.22.0 "@nx/workspace": 16.2.1 + "@octokit/graphql": ^5.0.5 "@storybook/eslint-config-storybook": ^3.1.2 "@storybook/jest": future "@storybook/linter-config": ^3.1.2 @@ -2931,6 +2980,7 @@ __metadata: "@testing-library/jest-dom": ^5.11.9 "@testing-library/react": ^11.2.2 "@testing-library/user-event": ^13.2.1 + "@types/cross-spawn": ^6.0.2 "@types/detect-port": ^1.3.2 "@types/ejs": ^3.1.1 "@types/escodegen": ^0.0.6 @@ -2944,11 +2994,12 @@ __metadata: "@types/react-dom": ^16.9.17 "@types/semver": ^7.3.4 "@types/serve-static": ^1.13.8 - "@types/shelljs": ^0.8.7 + "@types/uuid": ^9.0.1 "@typescript-eslint/eslint-plugin": ^5.45.0 "@typescript-eslint/experimental-utils": ^5.45.0 "@typescript-eslint/parser": ^5.45.0 "@verdaccio/types": ^10.2.0 + ansi-regex: ^5.0.0 babel-eslint: ^10.1.0 babel-loader: ^9.1.2 boxen: ^5.1.2 @@ -2957,7 +3008,8 @@ __metadata: commander: ^6.2.1 cross-env: ^7.0.3 cross-spawn: ^7.0.3 - danger: ^10.6.2 + danger: ^11.2.6 + dataloader: ^2.2.2 detect-port: ^1.3.0 ejs: ^3.1.8 ejs-lint: ^2.0.0 @@ -2972,18 +3024,20 @@ __metadata: express: ^4.17.3 fast-glob: ^3.2.12 find-up: ^5.0.0 - fs-extra: ^10.1.0 + fs-extra: ^11.1.0 github-release-from-changelog: ^2.1.1 glob: ^10.0.0 - http-server: ^0.12.3 + http-server: ^14.1.1 husky: ^4.3.7 jest: ^29.3.1 jest-environment-jsdom: ^29.3.1 jest-image-snapshot: ^6.0.0 jest-junit: ^14.0.1 + jest-mock-extended: ^3.0.4 jest-os-detection: ^1.3.1 jest-serializer-html: ^7.1.0 jest-watch-typeahead: ^2.2.1 + json5: ^2.2.3 junit-xml: ^1.2.0 lint-staged: ^10.5.4 lodash: ^4.17.21 @@ -2993,7 +3047,9 @@ __metadata: npmlog: ^5.0.1 nx: 16.2.1 nx-cloud: 16.0.5 + ora: ^5.4.1 p-limit: ^3.1.0 + p-retry: ^5.1.2 prettier: ^2.8.0 pretty-hrtime: ^1.0.0 process: ^0.11.10 @@ -3008,22 +3064,24 @@ __metadata: remark-preset-lint-recommended: ^5.0.0 semver: ^7.3.7 serve-static: ^1.14.1 - shelljs: ^0.8.5 + simple-git: ^3.18.0 slash: ^3.0.0 - sort-package-json: ^1.48.1 + sort-package-json: ^2.0.0 tempy: ^1.0.0 trash: ^7.0.0 ts-dedent: ^2.0.0 ts-loader: ^9.4.2 ts-node: ^10.9.1 tsup: ^6.7.0 - type-fest: ^3.4.0 + type-fest: ^3.11.0 typescript: 5.0.4 util: ^0.12.4 + uuid: ^9.0.0 verdaccio: ^5.19.1 verdaccio-auth-memory: ^10.2.0 - wait-on: ^5.2.1 + wait-on: ^7.0.1 window-size: ^1.1.1 + zod: ^3.21.4 zx: ^7.0.3 dependenciesMeta: "@verdaccio/types": @@ -3050,15 +3108,15 @@ __metadata: languageName: node linkType: hard -"@storybook/types@npm:7.1.0-alpha.25": - version: 7.1.0-alpha.25 - resolution: "@storybook/types@npm:7.1.0-alpha.25" +"@storybook/types@npm:7.1.0-alpha.29": + version: 7.1.0-alpha.29 + resolution: "@storybook/types@npm:7.1.0-alpha.29" dependencies: - "@storybook/channels": 7.1.0-alpha.25 + "@storybook/channels": 7.1.0-alpha.29 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 file-system-cache: ^2.0.0 - checksum: c90f2b859cb46016ca19e644d6c4e86a0022c6315009975257263b91f173484f68eb1c5ccf5e6e98d3cfba6adbde23d0b1e88677fd2ef395ce37d2aa93fd56a0 + checksum: 29c94d3ba0b0bc4759893640e02cc83d0682f5c97dbefb1c5903a99d0341161f65eb0a65175123970a1176ff13e0f0b1661f5460583ea8de15c1b7ef18f73aeb languageName: node linkType: hard @@ -3069,90 +3127,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-darwin-arm64@npm:1.3.60" +"@swc/core-darwin-arm64@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-darwin-arm64@npm:1.3.62" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-darwin-x64@npm:1.3.60" +"@swc/core-darwin-x64@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-darwin-x64@npm:1.3.62" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.60" +"@swc/core-linux-arm-gnueabihf@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.62" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.60" +"@swc/core-linux-arm64-gnu@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.62" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.60" +"@swc/core-linux-arm64-musl@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.62" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.60" +"@swc/core-linux-x64-gnu@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.62" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-linux-x64-musl@npm:1.3.60" +"@swc/core-linux-x64-musl@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-linux-x64-musl@npm:1.3.62" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.60" +"@swc/core-win32-arm64-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.62" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.60" +"@swc/core-win32-ia32-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.62" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.60": - version: 1.3.60 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.60" +"@swc/core-win32-x64-msvc@npm:1.3.62": + version: 1.3.62 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.62" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.23": - version: 1.3.60 - resolution: "@swc/core@npm:1.3.60" - dependencies: - "@swc/core-darwin-arm64": 1.3.60 - "@swc/core-darwin-x64": 1.3.60 - "@swc/core-linux-arm-gnueabihf": 1.3.60 - "@swc/core-linux-arm64-gnu": 1.3.60 - "@swc/core-linux-arm64-musl": 1.3.60 - "@swc/core-linux-x64-gnu": 1.3.60 - "@swc/core-linux-x64-musl": 1.3.60 - "@swc/core-win32-arm64-msvc": 1.3.60 - "@swc/core-win32-ia32-msvc": 1.3.60 - "@swc/core-win32-x64-msvc": 1.3.60 + version: 1.3.62 + resolution: "@swc/core@npm:1.3.62" + dependencies: + "@swc/core-darwin-arm64": 1.3.62 + "@swc/core-darwin-x64": 1.3.62 + "@swc/core-linux-arm-gnueabihf": 1.3.62 + "@swc/core-linux-arm64-gnu": 1.3.62 + "@swc/core-linux-arm64-musl": 1.3.62 + "@swc/core-linux-x64-gnu": 1.3.62 + "@swc/core-linux-x64-musl": 1.3.62 + "@swc/core-win32-arm64-msvc": 1.3.62 + "@swc/core-win32-ia32-msvc": 1.3.62 + "@swc/core-win32-x64-msvc": 1.3.62 peerDependencies: "@swc/helpers": ^0.5.0 dependenciesMeta: @@ -3179,7 +3237,16 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: ec016437e1814cd4ca75bd96925dfda759a839f95163c0e647ac3eb5e055a9145269b6daf1c7956aab49c0a0c2d92d4619c69c1924faaef5414ea36e25f22baf + checksum: aaa0827960f656c762733836938d31b2d596495b8430eb6feb0d1f6b1416b3444e7b59c326ae37ee410d8d3d25fff20ac8ff0f66ebe8a87e7fae1ca651aff915 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: ^2.0.0 + checksum: 73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f languageName: node linkType: hard @@ -3345,11 +3412,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.0 - resolution: "@types/babel__traverse@npm:7.20.0" + version: 7.20.1 + resolution: "@types/babel__traverse@npm:7.20.1" dependencies: "@babel/types": ^7.20.7 - checksum: 9a4cfe345fc681f6009f11de705d19c6546fc681b9c7408f2ddd3eb18e8cbfbae80b63e153ac62afdd5a4e9beb57987b377dc2f84d50c477e5470abce9648e74 + checksum: 5a6a3a26be090573309527184a31f1b82ef55f3d73d811c15f181d323e471305f2390651a04d49d4cd4ca41bbeabb53c9f7862a8e09eab5a0f8910a6aec6e867 languageName: node linkType: hard @@ -3363,6 +3430,18 @@ __metadata: languageName: node linkType: hard +"@types/cacheable-request@npm:^6.0.1": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "*" + "@types/keyv": ^3.1.4 + "@types/node": "*" + "@types/responselike": ^1.0.0 + checksum: 10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 + languageName: node + linkType: hard + "@types/connect@npm:*": version: 3.4.35 resolution: "@types/connect@npm:3.4.35" @@ -3372,10 +3451,19 @@ __metadata: languageName: node linkType: hard +"@types/cross-spawn@npm:^6.0.2": + version: 6.0.2 + resolution: "@types/cross-spawn@npm:6.0.2" + dependencies: + "@types/node": "*" + checksum: 658bd49267a7200e87e67c48ef1e58ee7418bbd4417fb191393b7051d47f590023090cad7b69eb3821d1907b82392b764e1114b1ec6000b01e98126926c8b06f + languageName: node + linkType: hard + "@types/detect-port@npm:^1.3.2": - version: 1.3.2 - resolution: "@types/detect-port@npm:1.3.2" - checksum: 4c9ab349b8724e32879c1d241c374e674ce040783dc6768b19d844afff011d1a70adaaf93bf96e1ed33eef9c88cc6c27ce7dce82a1cec8c6e9992ae445a5a255 + version: 1.3.3 + resolution: "@types/detect-port@npm:1.3.3" + checksum: 27c8000e3d41fd1158e2213b31c90b63852299ed66e4604b028a7146519530ab129b8ff867db02b06a32f61e7764f8d5aff0c44c5f543ce2b4b035e5968b62e1 languageName: node linkType: hard @@ -3436,7 +3524,7 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.1, @types/glob@npm:~7.2.0": +"@types/glob@npm:^7.1.1": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" dependencies: @@ -3455,6 +3543,13 @@ __metadata: languageName: node linkType: hard +"@types/http-cache-semantics@npm:*": + version: 4.0.1 + resolution: "@types/http-cache-semantics@npm:4.0.1" + checksum: 6d6068110a04cac213bdc0fff9c7bac028b5a2da390492204328987d8ddc500adc10d9cf5747a6333dab261712655dcfe120ea1d5527c205d012a39cdccc2a7b + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.4 resolution: "@types/istanbul-lib-coverage@npm:2.0.4" @@ -3481,12 +3576,12 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:>=26.0.0": - version: 29.5.1 - resolution: "@types/jest@npm:29.5.1" + version: 29.5.2 + resolution: "@types/jest@npm:29.5.2" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: ba9df58fa0c813e1dda529e34bcec2d0e0bbac2d3e921a86c8e10d77fc5165bd8e5324eeb7071bfe0490e7d1055db34ef80d57e05bd967edae00df4158097ec6 + checksum: e85525fe83a0792632a31ca32968b33a0014d617442e9a515357d2aa8890052ef622b1f6fd25d48f4f1a3ab806bed94e6d9b056dea23a897464e0e35957ff654 languageName: node linkType: hard @@ -3524,6 +3619,15 @@ __metadata: languageName: node linkType: hard +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "*" + checksum: ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + "@types/lodash@npm:^4, @types/lodash@npm:^4.14.175": version: 4.14.195 resolution: "@types/lodash@npm:4.14.195" @@ -3614,9 +3718,9 @@ __metadata: linkType: hard "@types/prettier@npm:^2.1.5": - version: 2.7.2 - resolution: "@types/prettier@npm:2.7.2" - checksum: 16ffbd1135c10027f118517d3b12aaaf3936be1f3c6e4c6c9c03d26d82077c2d86bf0dcad545417896f29e7d90faf058aae5c9db2e868be64298c644492ea29e + version: 2.7.3 + resolution: "@types/prettier@npm:2.7.3" + checksum: 0960b5c1115bb25e979009d0b44c42cf3d792accf24085e4bfce15aef5794ea042e04e70c2139a2c3387f781f18c89b5706f000ddb089e9a4a2ccb7536a2c5f0 languageName: node linkType: hard @@ -3677,6 +3781,22 @@ __metadata: languageName: node linkType: hard +"@types/responselike@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/responselike@npm:1.0.0" + dependencies: + "@types/node": "*" + checksum: 474ac2402e6d43c007eee25f50d01eb1f67255ca83dd8e036877292bbe8dd5d2d1e50b54b408e233b50a8c38e681ff3ebeaf22f18b478056eddb65536abb003a + languageName: node + linkType: hard + +"@types/retry@npm:0.12.1": + version: 0.12.1 + resolution: "@types/retry@npm:0.12.1" + checksum: d2d08393973693826fc947fb09596c34bd65863201e2f6d7e9d7a02d504199d6a2bab13eba56f6366ee0fd45434c699a9fdcfff3311e63bf2fad7a4cf34bacfd + languageName: node + linkType: hard + "@types/scheduler@npm:*": version: 0.16.3 resolution: "@types/scheduler@npm:0.16.3" @@ -3711,16 +3831,6 @@ __metadata: languageName: node linkType: hard -"@types/shelljs@npm:^0.8.7": - version: 0.8.12 - resolution: "@types/shelljs@npm:0.8.12" - dependencies: - "@types/glob": ~7.2.0 - "@types/node": "*" - checksum: a29f5ef3d61b243e07f642dfb34471a1f2bde2883b217f83afab74a944aaafbf014ca15644cc543d68f6ea7e11e1241ce7e029e0e4555ef8e2869476b5993d47 - languageName: node - linkType: hard - "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -3751,6 +3861,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "@types/uuid@npm:9.0.1" + checksum: 234e14e053504a98532bb5d1490c8d649fe24ae04a94ba042b09b380a900094df1032aa7c3864b74b7a85a0a5e97530b2d1340048ed9d07855140cb99b2cefc8 + languageName: node + linkType: hard + "@types/which@npm:^3.0.0": version: 3.0.0 resolution: "@types/which@npm:3.0.0" @@ -3793,13 +3910,13 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/eslint-plugin@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/eslint-plugin@npm:5.59.9" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/type-utils": 5.59.7 - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/type-utils": 5.59.9 + "@typescript-eslint/utils": 5.59.9 debug: ^4.3.4 grapheme-splitter: ^1.0.4 ignore: ^5.2.0 @@ -3812,54 +3929,54 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 78b583230a7a20e6a06bc9cd1c10ef6d334bdf8d0179a66b2f3d6ebb2b1ac5685ea5266443f8c833719ea62c2768f28a625fd64c5e83b9408a6d41aaffe35db0 + checksum: 4bb9981bcc009c044ffd6b64288309480df2b6c9cdf6b345987e4b565d0973d1d98b7209f6b46b92880735d788f564e17553641087aa59f67990c84526622a27 languageName: node linkType: hard "@typescript-eslint/experimental-utils@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/experimental-utils@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/experimental-utils@npm:5.59.9" dependencies: - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/utils": 5.59.9 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 6acfb9b10d2045d16c84f38a6b555016ae3d427a4d6afdd7208ad337ac28131bc06f760a9880cac5910760b5921fc6ce0b228937f2aedbfbbca2516b92f1dd76 + checksum: 55b443a2b62f1736babb1f463175d9903267a423b4ba1f0e4f5092018805cf6f8ba0ffcbab4cf963f85fe219497870cdd41c4c7b222efafc1a52502e262da501 languageName: node linkType: hard "@typescript-eslint/parser@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/parser@npm:5.59.7" + version: 5.59.9 + resolution: "@typescript-eslint/parser@npm:5.59.9" dependencies: - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/typescript-estree": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/typescript-estree": 5.59.9 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: c6248149be43fbea69f93cc1c56c17265c58639aa520b8afe242e7dac43712d1dd2bbc93fedd6a017b8799d68b1a51c8d802bc402184e9d2813bfc92a08bc204 + checksum: af0e041e8a541734ff237ec0eac47e355c2f78dd2b0db4eb4ab0c10ba1b6d5d70f84ddc16f856bc72c4cacd53ef04b5f4948baffb5c8cb2d9a0ffd83a8fbc547 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/scope-manager@npm:5.59.7" +"@typescript-eslint/scope-manager@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/scope-manager@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/visitor-keys": 5.59.7 - checksum: e1cc89cf4a9b5fe3cc1b7921fb64cffe7e7179347a19c42e67c4b1ebbae88d7c997d1c3b6f24d11ef184ed35853115ec1d1c249da8b15c5dbffc5606e662b23a + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/visitor-keys": 5.59.9 + checksum: 41622fd270e5b8574347ed5dd020bbb9752d85e6f40df180e944c1110d9bd2227a949067feb23dd4117dd2be0623c05a47bc363abe605c96deb295753f6dd080 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/type-utils@npm:5.59.7" +"@typescript-eslint/type-utils@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/type-utils@npm:5.59.9" dependencies: - "@typescript-eslint/typescript-estree": 5.59.7 - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/typescript-estree": 5.59.9 + "@typescript-eslint/utils": 5.59.9 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -3867,23 +3984,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 882cb0ea0c2d660b64d0c05ff28baf2504c04ad9a4e12ceb70f9679025397ac0709455f489662a1f92ae7fa5be535447c3d26979598ef1e23ceed4cdf8078ca5 + checksum: c3a9773d2b81350923025933623e1572538f79bf119b40bed17389eda11632f6d364a49b385aa6d915d85f7c3d45376085cc55263d865dbc2b753598bba6473b languageName: node linkType: hard -"@typescript-eslint/types@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/types@npm:5.59.7" - checksum: 3bb11afe5eff16bde59fc7b0f479787fdc1764b9d836d4d32a587b058bb868057080b3ead7ef4d73feb17ac15765f2fbd74bad311263eea0ac3f29198a00b645 +"@typescript-eslint/types@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/types@npm:5.59.9" + checksum: 951046891bcc9fa27d72a5489b496291e44cedcff204d3ce6c10c8916fc5e255332738efd4d7555200a55b49ff4ba1204e186960d216d51fea89fe92a982180e languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/typescript-estree@npm:5.59.7" +"@typescript-eslint/typescript-estree@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/typescript-estree@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/visitor-keys": 5.59.7 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/visitor-keys": 5.59.9 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -3892,35 +4009,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6b16d6fbe0e2111c9cb37c5bcd8834747f8ea2db0350df54e1aa13c1b09919efad8329b9a40c7bf7f4c8426fab50ce6ddf8e9f1731b8c93678e3af51c21102b5 + checksum: 2f3d8df6d454fbc52d305abfe8447bff8e8d63294ce47e4679c920f647643f5d15a1f693caf74f4fabece12d5ba27ebdb156d507b16fbd2751fc01ba6c4df3c8 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.59.7, @typescript-eslint/utils@npm:^5.45.0": - version: 5.59.7 - resolution: "@typescript-eslint/utils@npm:5.59.7" +"@typescript-eslint/utils@npm:5.59.9, @typescript-eslint/utils@npm:^5.45.0": + version: 5.59.9 + resolution: "@typescript-eslint/utils@npm:5.59.9" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.59.7 - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/typescript-estree": 5.59.7 + "@typescript-eslint/scope-manager": 5.59.9 + "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/typescript-estree": 5.59.9 eslint-scope: ^5.1.1 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: d7d0c5a12ddefb5c9aaed100a8dfab181b74b04562f46e047904979fd4dfb9c76944cf88ffba5799a57c1af67e6906a3a1e1444f1fe119dda41f9cf233e995c4 + checksum: b8a04a83c121faa3e36abb2b6113f2e0ec5cf86884d0cb8619bfc50f7442341ee17e4495d69f8abeb6edad9e0347de8382ea1708a5fd6da1e4c80b7b8215c6ab languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/visitor-keys@npm:5.59.7" +"@typescript-eslint/visitor-keys@npm:5.59.9": + version: 5.59.9 + resolution: "@typescript-eslint/visitor-keys@npm:5.59.9" dependencies: - "@typescript-eslint/types": 5.59.7 + "@typescript-eslint/types": 5.59.9 eslint-visitor-keys: ^3.3.0 - checksum: 5cc1d7ddd8a1715de3398651d0ae183a9beafc2e49630cf5a40fc53afac60fae9b61631ee418686c211c8cc395d8d84dc182945659700fb846f06de106f5c114 + checksum: 882fd03830cbe0eca8f9a547aecc6519ddbec10e55f5f3de66e605a3f3d42a6237abd3c09b34d9cc3343c8e11386e999876aec384efe523e1478cb22752d326d languageName: node linkType: hard @@ -3934,32 +4051,32 @@ __metadata: languageName: node linkType: hard -"@verdaccio/config@npm:6.0.0-6-next.68": - version: 6.0.0-6-next.68 - resolution: "@verdaccio/config@npm:6.0.0-6-next.68" +"@verdaccio/config@npm:6.0.0-6-next.71": + version: 6.0.0-6-next.71 + resolution: "@verdaccio/config@npm:6.0.0-6-next.71" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 - "@verdaccio/utils": 6.0.0-6-next.36 + "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/utils": 6.0.0-6-next.39 debug: 4.3.4 js-yaml: 4.1.0 lodash: 4.17.21 minimatch: 3.1.2 yup: 0.32.11 - checksum: 6e17f85cf4483a6f45caa5ac3d585ecc9044f3aa015bb03806f14e7182bbe94d127c3fae3934d7ccd287c02f24115832df3e3d3dce2c79f609c11469e2762f80 + checksum: 7cb21de773342e059d28fc1049bd405c1311d4120f6ca62af3a39c8bca2bce4055ccc0fabadf1b5608cde697c5f140da85c356c64257798b68d4af1cafd4ff0f languageName: node linkType: hard -"@verdaccio/core@npm:6.0.0-6-next.68": - version: 6.0.0-6-next.68 - resolution: "@verdaccio/core@npm:6.0.0-6-next.68" +"@verdaccio/core@npm:6.0.0-6-next.71": + version: 6.0.0-6-next.71 + resolution: "@verdaccio/core@npm:6.0.0-6-next.71" dependencies: - ajv: 8.11.2 - core-js: 3.28.0 - http-errors: 1.8.1 + ajv: 8.12.0 + core-js: 3.30.2 + http-errors: 2.0.0 http-status-codes: 2.2.0 process-warning: 1.0.0 - semver: 7.3.8 - checksum: 73332f8e0e54ef34e90415fe5b4a108ac02a8c2912c47e584f10b4e4f6501d85e2de3c66a2ba0017860c6550619cd521640e0dfb44ced7f444c4caadcde69a8e + semver: 7.5.0 + checksum: 8357deee9b0744a97aec90b90d8e7443ff191953cdac012005c333b70d72aee51b89dcfb4918c12ee716bc7e8c2a2d9adcd5276e681aa26c50a8d94065e79c0b languageName: node linkType: hard @@ -3997,56 +4114,63 @@ __metadata: languageName: node linkType: hard -"@verdaccio/logger-7@npm:6.0.0-6-next.13": - version: 6.0.0-6-next.13 - resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.13" +"@verdaccio/logger-7@npm:6.0.0-6-next.16": + version: 6.0.0-6-next.16 + resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.16" dependencies: - "@verdaccio/logger-commons": 6.0.0-6-next.36 + "@verdaccio/logger-commons": 6.0.0-6-next.39 pino: 7.11.0 - checksum: 2436b8cf391a8b544b8ecf68f881c6af41ba6ce2e4c48b8d1adbed0b01df612cc30119e10ef2f5368698bbc9d671e84e8c6450035ecc2392626535ce2f36175d + checksum: 13cad11e871c28a2903e281cc147cbd9433ed30ecca397041fa8404875463c861f9f494dbb029e8f5570ce5ca6675013e7db99bc4785488fcbecd38b6cc60577 languageName: node linkType: hard -"@verdaccio/logger-commons@npm:6.0.0-6-next.36": - version: 6.0.0-6-next.36 - resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.36" +"@verdaccio/logger-commons@npm:6.0.0-6-next.39": + version: 6.0.0-6-next.39 + resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.39" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 - "@verdaccio/logger-prettify": 6.0.0-6-next.9 - colorette: 2.0.19 + "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/logger-prettify": 6.0.0-6-next.10 + colorette: 2.0.20 debug: 4.3.4 - checksum: 44535c8b3ef64a53edb93636d06843202238590b8dc17d11b12d48a803f4542e1452926b2f7c82edf7afed811b5a72365d0992b24085122cb8c387255c99245a + checksum: bf71ba0c5fef3e19ef45ca7a4a6b44d9fcc4873e37445f78cf4c4747aee319664d33c0f056eec2a21228055350e08f0353edfe8743da45148c7b6cd556159945 languageName: node linkType: hard -"@verdaccio/logger-prettify@npm:6.0.0-6-next.9": - version: 6.0.0-6-next.9 - resolution: "@verdaccio/logger-prettify@npm:6.0.0-6-next.9" +"@verdaccio/logger-prettify@npm:6.0.0-6-next.10": + version: 6.0.0-6-next.10 + resolution: "@verdaccio/logger-prettify@npm:6.0.0-6-next.10" dependencies: - colorette: 2.0.19 + colorette: 2.0.20 dayjs: 1.11.7 lodash: 4.17.21 pino-abstract-transport: 1.0.0 - sonic-boom: 3.2.1 - checksum: 43162f785baf4894a8734841c05fcb3dc299dcc3cda17047ac7131147eddc5347d9505b8028a6af0d8aa4d6894ced0a381cf9aba5df5cb1feb482bea627ec878 + sonic-boom: 3.3.0 + checksum: 60bbfaea9bfdc152995f6f7f254f9c00ed5d1817c179cf5041e311335ea69ef6978768e560b950b76935b9347560665a853253be2e22075b7bad847cd17cbcc6 languageName: node linkType: hard -"@verdaccio/middleware@npm:6.0.0-6-next.47": - version: 6.0.0-6-next.47 - resolution: "@verdaccio/middleware@npm:6.0.0-6-next.47" +"@verdaccio/middleware@npm:6.0.0-6-next.50": + version: 6.0.0-6-next.50 + resolution: "@verdaccio/middleware@npm:6.0.0-6-next.50" dependencies: - "@verdaccio/config": 6.0.0-6-next.68 - "@verdaccio/core": 6.0.0-6-next.68 - "@verdaccio/url": 11.0.0-6-next.34 - "@verdaccio/utils": 6.0.0-6-next.36 + "@verdaccio/config": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/url": 11.0.0-6-next.37 + "@verdaccio/utils": 6.0.0-6-next.39 debug: 4.3.4 express: 4.18.2 express-rate-limit: 5.5.1 lodash: 4.17.21 - lru-cache: 7.16.1 + lru-cache: 7.18.3 mime: 2.6.0 - checksum: 11f64f4343b287b24fc69304cb18cf2149fb89d441ec8190fb9f0769ad655363d47935fe2eed26547a4add92446ac66aac3f2d01762164f6b431a59656e02b96 + checksum: 6878fdb62f9e9f843a736be626577725941fbeb981d8fd57ff732edfaae5c7fe76367de59a41d872af455a91c3822a177c8fa9b8dbdc9aecc2d9ba670d3bf62c + languageName: node + linkType: hard + +"@verdaccio/search@npm:6.0.0-6-next.2": + version: 6.0.0-6-next.2 + resolution: "@verdaccio/search@npm:6.0.0-6-next.2" + checksum: 0d529c30143206c4a031c64eb0fc2a62a1395c94f36c7595afb8200d2d3db35f48ae95c9ada835c3955ed6df84151fe5f6c5455e81aed9570bec18b1eed89b57 languageName: node linkType: hard @@ -4068,16 +4192,16 @@ __metadata: languageName: node linkType: hard -"@verdaccio/tarball@npm:11.0.0-6-next.37": - version: 11.0.0-6-next.37 - resolution: "@verdaccio/tarball@npm:11.0.0-6-next.37" +"@verdaccio/tarball@npm:11.0.0-6-next.40": + version: 11.0.0-6-next.40 + resolution: "@verdaccio/tarball@npm:11.0.0-6-next.40" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 - "@verdaccio/url": 11.0.0-6-next.34 - "@verdaccio/utils": 6.0.0-6-next.36 + "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/url": 11.0.0-6-next.37 + "@verdaccio/utils": 6.0.0-6-next.39 debug: 4.3.4 lodash: 4.17.21 - checksum: 2ee4df6ce9dc5b110ced275138f09a6128867fb2b2a930fedf5e8089ccd9135fe6384037db1f9be85ebab6d44bffcf9dd78b6e925db720855b5504d729db78d8 + checksum: 4075b0d6b59b0a6cf7dad6fea1edc70b5f749dd3471ee368151f127dcfa94f84df7a3374aec5564d0560630488349e3bbfe259a411b7b6de319cd42abd593c6c languageName: node linkType: hard @@ -4088,34 +4212,34 @@ __metadata: languageName: node linkType: hard -"@verdaccio/ui-theme@npm:6.0.0-6-next.68": - version: 6.0.0-6-next.68 - resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.68" - checksum: c64cd50857430526cf6220752d407feb23e60eb9506cb2c86a02df8eb7beecdf31ce57711e2578bb4401a525137305654ec2d47fbfe2436264b501d3839bf516 +"@verdaccio/ui-theme@npm:6.0.0-6-next.71": + version: 6.0.0-6-next.71 + resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.71" + checksum: f1062ed90b4083576111fd7bde117e6c75e24ef2eeef6bf1abe73e472e10ddd1af33ed129624c695eaa46051db2e28ed61de7e35ff1c5eec3dcc85b7544f80a4 languageName: node linkType: hard -"@verdaccio/url@npm:11.0.0-6-next.34": - version: 11.0.0-6-next.34 - resolution: "@verdaccio/url@npm:11.0.0-6-next.34" +"@verdaccio/url@npm:11.0.0-6-next.37": + version: 11.0.0-6-next.37 + resolution: "@verdaccio/url@npm:11.0.0-6-next.37" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 + "@verdaccio/core": 6.0.0-6-next.71 debug: 4.3.4 lodash: 4.17.21 validator: 13.9.0 - checksum: d01c212c1433912cad622106901613a7001dc7dfbad28a1b4fe142cfa464e747686df18044b3134c03e95533b8e1aedab9657ecb4ca919da884d0ad3131d8681 + checksum: b68c15c7db4134551b811f8edc5562883d8c981899d3b50fda1ea4774838f6210503170db2c6f365321162c783d2ddbd1ada0d3713c362f5f0e647b1f1a61d4e languageName: node linkType: hard -"@verdaccio/utils@npm:6.0.0-6-next.36": - version: 6.0.0-6-next.36 - resolution: "@verdaccio/utils@npm:6.0.0-6-next.36" +"@verdaccio/utils@npm:6.0.0-6-next.39": + version: 6.0.0-6-next.39 + resolution: "@verdaccio/utils@npm:6.0.0-6-next.39" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 + "@verdaccio/core": 6.0.0-6-next.71 lodash: 4.17.21 minimatch: 3.1.2 - semver: 7.3.8 - checksum: 2393ab5b7d8864fee648bd88932d01a798df6095892ed54570ba1fdcab5f3d0dd7cb745c1353069a3ea24a6ab013545afd00f79403edd15fea1081d057fac52b + semver: 7.5.0 + checksum: 771c96243c3f7e4f5c61a5a2e1b31bf8869bf8df51539243766d3d7b40c12cc48876ee4fc4c1d1a5b1ca988e10bc29996549e15b6ed0d805e8460eea453ac00f languageName: node linkType: hard @@ -4127,12 +4251,12 @@ __metadata: linkType: hard "@yarnpkg/parsers@npm:^3.0.0-rc.18": - version: 3.0.0-rc.44 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.44" + version: 3.0.0-rc.45 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.45" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: b4f6ccec3a4e91332c4f5ae76c8949b25a427062ba0e1e1358591f4de839458af8dd471481be4086de960aa83a781ea7b70bcf4f38b1738dcf8b4309fd2ef2a7 + checksum: 64dfeae26c5782a722bcb3e936a43280ff46861f09042e32add6f1b7a1845ef3081ee515b60dd09ae9cd77cc28a85877bdcd9ba4b143bc1413edf71553698041 languageName: node linkType: hard @@ -4261,15 +4385,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:4, agent-base@npm:^4.3.0": - version: 4.3.0 - resolution: "agent-base@npm:4.3.0" - dependencies: - es6-promisify: ^5.0.0 - checksum: a618d4e4ca7c0c2023b2664346570773455c501a930718764f65016a8a9eea6d2ab5ba54255589e46de529bab4026a088523dce17f94e34ba385af1f644febe1 - languageName: node - linkType: hard - "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -4325,15 +4440,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:8.11.2": - version: 8.11.2 - resolution: "ajv@npm:8.11.2" +"ajv@npm:8.12.0, ajv@npm:^8.0.0, ajv@npm:^8.2.0, ajv@npm:^8.9.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" dependencies: fast-deep-equal: ^3.1.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: 152450e03f45e6ff09dab02d9647340e7bf7bcffbe88047b1c5ad7518cc278aa812f1f41606958772a93861b06b8abc91ddb9e124626aab253a9efef875d8e2c + checksum: ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e languageName: node linkType: hard @@ -4349,18 +4464,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.2.0, ajv@npm:^8.9.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e - languageName: node - linkType: hard - "ansi-align@npm:^3.0.0": version: 3.0.1 resolution: "ansi-align@npm:3.0.1" @@ -4714,13 +4817,6 @@ __metadata: languageName: node linkType: hard -"atob-lite@npm:^2.0.0": - version: 2.0.0 - resolution: "atob-lite@npm:2.0.0" - checksum: 8073795465dad14aa92b2cd3322472e93dbc8b87da5740150bbae9d716ee6cc254af1c375b7310a475d876eb24c25011584ae9c1277bdb3eb53ebb4cd236f501 - languageName: node - linkType: hard - "atomic-sleep@npm:^1.0.0": version: 1.0.0 resolution: "atomic-sleep@npm:1.0.0" @@ -4767,12 +4863,13 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.1": - version: 0.21.4 - resolution: "axios@npm:0.21.4" +"axios@npm:^0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" dependencies: - follow-redirects: ^1.14.0 - checksum: fbcff55ec68f71f02d3773d467db2fcecdf04e749826c82c2427a232f9eba63242150a05f15af9ef15818352b814257541155de0281f8fb2b7e8a5b79f7f2142 + follow-redirects: ^1.14.9 + form-data: ^4.0.0 + checksum: 76d673d2a90629944b44d6f345f01e58e9174690f635115d5ffd4aca495d99bcd8f95c590d5ccb473513f5ebc1d1a6e8934580d0c57cdd0498c3a101313ef771 languageName: node linkType: hard @@ -4867,7 +4964,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.2": +"babel-plugin-polyfill-corejs2@npm:^0.4.3": version: 0.4.3 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.3" dependencies: @@ -4958,10 +5055,12 @@ __metadata: languageName: node linkType: hard -"basic-auth@npm:^1.0.3": - version: 1.1.0 - resolution: "basic-auth@npm:1.1.0" - checksum: af1d7687a1f71acb823c44f6ae8f085dcdb450ff74cb6c98a9a68a3b7a7035050ddac10049d98046771ee4be5c534d5aeeae2304c9c7434f54433260ddef96aa +"basic-auth@npm:^2.0.1": + version: 2.0.1 + resolution: "basic-auth@npm:2.0.1" + dependencies: + safe-buffer: 5.1.2 + checksum: 05f56db3a0fc31c89c86b605231e32ee143fb6ae38dc60616bc0970ae6a0f034172def99e69d3aed0e2c9e7cac84e2d63bc51a0b5ff6ab5fc8808cc8b29923c1 languageName: node linkType: hard @@ -4981,7 +5080,7 @@ __metadata: languageName: node linkType: hard -"before-after-hook@npm:^2.0.0, before-after-hook@npm:^2.1.0, before-after-hook@npm:^2.2.0": +"before-after-hook@npm:^2.1.0, before-after-hook@npm:^2.2.0": version: 2.2.3 resolution: "before-after-hook@npm:2.2.3" checksum: 0488c4ae12df758ca9d49b3bb27b47fd559677965c52cae7b335784724fb8bf96c42b6e5ba7d7afcbc31facb0e294c3ef717cc41c5bc2f7bd9e76f8b90acd31c @@ -5010,7 +5109,7 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.0.3": +"bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" dependencies: @@ -5106,16 +5205,16 @@ __metadata: linkType: hard "browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": - version: 4.21.5 - resolution: "browserslist@npm:4.21.5" + version: 4.21.7 + resolution: "browserslist@npm:4.21.7" dependencies: - caniuse-lite: ^1.0.30001449 - electron-to-chromium: ^1.4.284 - node-releases: ^2.0.8 - update-browserslist-db: ^1.0.10 + caniuse-lite: ^1.0.30001489 + electron-to-chromium: ^1.4.411 + node-releases: ^2.0.12 + update-browserslist-db: ^1.0.11 bin: browserslist: cli.js - checksum: 903040d2c45b733e1177c288b4f146ff21d45e8a44ccc87d1d7fc2f6a8d021c7ee54b514fd7722529c282381969382a54bd2ab4263f5b6c8981a856b457ea162 + checksum: c523a982ef5d4141907795bbb72d7e2c5df79b2c6e495ef8ff6405b6734a2f16529a7f54c86b113085cad8a3359ac2fc6a478e86ae715084ba7384b9344b2ef5 languageName: node linkType: hard @@ -5128,13 +5227,6 @@ __metadata: languageName: node linkType: hard -"btoa-lite@npm:^1.0.0": - version: 1.0.0 - resolution: "btoa-lite@npm:1.0.0" - checksum: 7a4f0568ae3c915464650f98fde7901ae07b13a333a614515a0c86876b3528670fafece28dfef9745d971a613bb83341823afb0c20c6f318b384c1e364b9eb95 - languageName: node - linkType: hard - "buffer-equal-constant-time@npm:1.0.1": version: 1.0.1 resolution: "buffer-equal-constant-time@npm:1.0.1" @@ -5253,6 +5345,28 @@ __metadata: languageName: node linkType: hard +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c + languageName: node + linkType: hard + +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: ^1.0.2 + get-stream: ^5.1.0 + http-cache-semantics: ^4.0.0 + keyv: ^4.0.0 + lowercase-keys: ^2.0.0 + normalize-url: ^6.0.1 + responselike: ^2.0.0 + checksum: 0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -5284,10 +5398,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001449": - version: 1.0.30001489 - resolution: "caniuse-lite@npm:1.0.30001489" - checksum: aa74c0fbf2069eb1bee9eefb715a603bc449421ef776649e321c5eed350dd64e4d9b75d89e568b7b871b11f7d26a7c5b4911035d1544bf2d3c2e3591e44d1c01 +"caniuse-lite@npm:^1.0.30001489": + version: 1.0.30001495 + resolution: "caniuse-lite@npm:1.0.30001495" + checksum: 5334922c6527606fe002aec0553ae99a8529b9d0c3a3440159956121d2e80450d4b45855d4fc6a97e44725639aaf1b4c0f9ecd94a417c05afd1b2a57a12b0af5 languageName: node linkType: hard @@ -5455,6 +5569,13 @@ __metadata: languageName: node linkType: hard +"cli-spinners@npm:^2.5.0": + version: 2.9.0 + resolution: "cli-spinners@npm:2.9.0" + checksum: c0d5437acc1ace7361b1c58a4fda3c92c2d8691ff3169ac658ce30faee71280b7aa706c072bcb6d0e380c232f3495f7d5ad4668c1391fe02c4d3a39d37798f44 + languageName: node + linkType: hard + "cli-truncate@npm:^2.1.0": version: 2.1.0 resolution: "cli-truncate@npm:2.1.0" @@ -5498,6 +5619,22 @@ __metadata: languageName: node linkType: hard +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: ^1.0.0 + checksum: 06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + "co@npm:3.1.0": version: 3.1.0 resolution: "co@npm:3.1.0" @@ -5582,21 +5719,14 @@ __metadata: languageName: node linkType: hard -"colorette@npm:2.0.19": - version: 2.0.19 - resolution: "colorette@npm:2.0.19" - checksum: 2bcc9134095750fece6e88167011499b964b78bf0ea953469130ddb1dba3c8fe6c03debb0ae181e710e2be10900d117460f980483a7df4ba4a1bac3b182ecb64 - languageName: node - linkType: hard - -"colorette@npm:^2.0.16": +"colorette@npm:2.0.20, colorette@npm:^2.0.16": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 languageName: node linkType: hard -"colors@npm:1.4.0, colors@npm:^1.4.0": +"colors@npm:1.4.0": version: 1.4.0 resolution: "colors@npm:1.4.0" checksum: 9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb @@ -5774,17 +5904,10 @@ __metadata: languageName: node linkType: hard -"core-js@npm:3.28.0": - version: 3.28.0 - resolution: "core-js@npm:3.28.0" - checksum: beaebefa83520ff2ca1eeeddccb17e373474966a7bd935134a1107cecb793798a0971feaf6a1a9f6bbd5b22b7dc1f81f72533eb24e3f6df079fff40fc26a21b4 - languageName: node - linkType: hard - -"core-js@npm:^2.6.5": - version: 2.6.12 - resolution: "core-js@npm:2.6.12" - checksum: 00128efe427789120a06b819adc94cc72b96955acb331cb71d09287baf9bd37bebd191d91f1ee4939c893a050307ead4faea08876f09115112612b6a05684b63 +"core-js@npm:3.30.2, core-js@npm:^3.8.2": + version: 3.30.2 + resolution: "core-js@npm:3.30.2" + checksum: 864d7dc908d4ece507d27e6c6d2830300dcb775d88cfefeec31e34ab95be5016bb23abb29c8b1c4a930bada01318af009276199d75dcab1a230c3cebdf8d3a70 languageName: node linkType: hard @@ -5919,32 +6042,32 @@ __metadata: languageName: node linkType: hard -"danger@npm:^10.6.2": - version: 10.9.0 - resolution: "danger@npm:10.9.0" +"danger@npm:^11.2.6": + version: 11.2.6 + resolution: "danger@npm:11.2.6" dependencies: - "@babel/polyfill": ^7.2.5 - "@octokit/rest": ^16.43.1 + "@gitbeaker/node": ^21.3.0 + "@octokit/rest": ^18.12.0 async-retry: 1.2.3 chalk: ^2.3.0 commander: ^2.18.0 + core-js: ^3.8.2 debug: ^4.1.1 fast-json-patch: ^3.0.0-1 get-stdin: ^6.0.0 - gitlab: ^10.0.1 - http-proxy-agent: ^2.1.0 - https-proxy-agent: ^2.2.1 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.1 hyperlinker: ^1.0.0 json5: ^2.1.0 jsonpointer: ^5.0.0 - jsonwebtoken: ^8.4.0 + jsonwebtoken: ^9.0.0 lodash.find: ^4.6.0 lodash.includes: ^4.3.0 lodash.isobject: ^3.0.2 lodash.keys: ^4.0.8 lodash.mapvalues: ^4.6.0 lodash.memoize: ^4.1.2 - memfs-or-file-map-to-github-branch: ^1.1.0 + memfs-or-file-map-to-github-branch: ^1.2.1 micromatch: ^4.0.4 node-cleanup: ^2.1.2 node-fetch: ^2.6.7 @@ -5957,6 +6080,7 @@ __metadata: pinpoint: ^1.1.0 prettyjson: ^1.2.1 readline-sync: ^1.4.9 + regenerator-runtime: ^0.13.9 require-from-string: ^2.0.2 supports-hyperlinks: ^1.0.1 bin: @@ -5969,7 +6093,7 @@ __metadata: danger-process: distribution/commands/danger-process.js danger-reset-status: distribution/commands/danger-reset-status.js danger-runner: distribution/commands/danger-runner.js - checksum: b8a6d9d04d0ea97ee0a7bf76c6062a6499616e2b0a1a3acbe604b0115a34bbdfba1bb9e096a0abe7f58be3f7d7eb53cfbb42ff36d21184b15fce0cccbf5ee1ed + checksum: 2968fbf2be3eb4b337d95e929381f69bd226bb45e54a44546600242275aae50e3a9e48557f1e0625e542d9fc99bdd67656591434aa2fdeea1f8e64a59de8b91f languageName: node linkType: hard @@ -6000,6 +6124,13 @@ __metadata: languageName: node linkType: hard +"dataloader@npm:^2.2.2": + version: 2.2.2 + resolution: "dataloader@npm:2.2.2" + checksum: 125ec69f821478cf7c6b4360095db6cab939fe57876a0d2060c428091a8deee7152345189923b71a6afa694aaec463779f34b585317164016fd6f54f52cd94ba + languageName: node + linkType: hard + "dayjs@npm:1.11.7": version: 1.11.7 resolution: "dayjs@npm:1.11.7" @@ -6016,15 +6147,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: 2.0.0 - checksum: 5bff34a352d7b2eaa31886eeaf2ee534b5461ec0548315b2f9f80bd1d2533cab7df1fa52e130ce27bc31c3945fbffb0fc72baacdceb274b95ce853db89254ea4 - languageName: node - linkType: hard - "debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" @@ -6037,7 +6159,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.0, debug@npm:^3.2.7": +"debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -6060,6 +6182,15 @@ __metadata: languageName: node linkType: hard +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + "dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -6107,6 +6238,22 @@ __metadata: languageName: node linkType: hard +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: ^1.0.2 + checksum: 9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -6170,13 +6317,6 @@ __metadata: languageName: node linkType: hard -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 - languageName: node - linkType: hard - "deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -6205,6 +6345,13 @@ __metadata: languageName: node linkType: hard +"detect-indent@npm:^7.0.1": + version: 7.0.1 + resolution: "detect-indent@npm:7.0.1" + checksum: 47b6e3e3dda603c386e73b129f3e84844ae59bc2615f5072becf3cc02eab400bed5a4e6379c49d0b18cf630e80c2b07e87e0038b777addbc6ef793ad77dd05bc + languageName: node + linkType: hard + "detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -6212,6 +6359,13 @@ __metadata: languageName: node linkType: hard +"detect-newline@npm:^4.0.0": + version: 4.0.0 + resolution: "detect-newline@npm:4.0.0" + checksum: 87dcff7a9ec25d1f4b356c068c3f05eb68bf6c2cbc4461da013df317ec184bbc96a2383bfaab9f963882ab988336bdadd5ce71b9cec55dde02d8ef84cef99250 + languageName: node + linkType: hard + "detect-port@npm:^1.3.0": version: 1.5.1 resolution: "detect-port@npm:1.5.1" @@ -6426,20 +6580,6 @@ __metadata: languageName: node linkType: hard -"ecstatic@npm:^3.3.2": - version: 3.3.2 - resolution: "ecstatic@npm:3.3.2" - dependencies: - he: ^1.1.1 - mime: ^1.6.0 - minimist: ^1.1.0 - url-join: ^2.0.5 - bin: - ecstatic: ./lib/ecstatic.js - checksum: e94ca9331c5035d7d553a5f15ed40c47ed62a723a49aec6011628952f7cc9a24005bf737a0256e0c65f8a305fb99889fefbe9e5bc4760bd2cbe611f516b849ef - languageName: node - linkType: hard - "ee-first@npm:1.1.1": version: 1.1.1 resolution: "ee-first@npm:1.1.1" @@ -6494,10 +6634,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.284": - version: 1.4.411 - resolution: "electron-to-chromium@npm:1.4.411" - checksum: 71160b3965456d2411e5fbf2fda25fc8aab9140df07e5f589ecaa8a126390ca8159775a2cda3fbc08598fc7d0b7b7efc1080182c34d2a990f23792327fef86c4 +"electron-to-chromium@npm:^1.4.411": + version: 1.4.425 + resolution: "electron-to-chromium@npm:1.4.425" + checksum: eea2c9518db315f5ce70df76f78507def2749d794e4000787f2ffba566d77f9fc64bc9ce4aae9800ae1241557e4fe949cba0c9ccedbfb861463b7e5033ee5962 languageName: node linkType: hard @@ -6723,22 +6863,6 @@ __metadata: languageName: node linkType: hard -"es6-promise@npm:^4.0.3": - version: 4.2.8 - resolution: "es6-promise@npm:4.2.8" - checksum: 2373d9c5e9a93bdd9f9ed32ff5cb6dd3dd785368d1c21e9bbbfd07d16345b3774ae260f2bd24c8f836a6903f432b4151e7816a7fa8891ccb4e1a55a028ec42c3 - languageName: node - linkType: hard - -"es6-promisify@npm:^5.0.0": - version: 5.0.0 - resolution: "es6-promisify@npm:5.0.0" - dependencies: - es6-promise: ^4.0.3 - checksum: 23284c6a733cbf7842ec98f41eac742c9f288a78753c4fe46652bae826446ced7615b9e8a5c5f121a08812b1cd478ea58630f3e1c3d70835bd5dcd69c7cd75c9 - languageName: node - linkType: hard - "esbuild-plugin-alias@npm:^0.2.1": version: 0.2.1 resolution: "esbuild-plugin-alias@npm:0.2.1" @@ -7181,14 +7305,14 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.41.0 - resolution: "eslint@npm:8.41.0" + version: 8.42.0 + resolution: "eslint@npm:8.42.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.41.0 - "@humanwhocodes/config-array": ^0.11.8 + "@eslint/js": 8.42.0 + "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 ajv: ^6.10.0 @@ -7225,7 +7349,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: d71832b235bebaa67c09019dee32bf8393c5e12155e91131c4606670eb9836fbff31e11364408258cb75e2bde8a4dfa0c042aa6145bb23cd800a42e63ca4a035 + checksum: 8ab5a3c1619008c946497a16b88a811b1f6c49a750a9bd0f81085dff4166418b9da4e46108b09d920877ab2f5981e3613332653b7f5e3917d8088bc4b8d40b5a languageName: node linkType: hard @@ -7782,7 +7906,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0, follow-redirects@npm:^1.15.0": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0": version: 1.15.2 resolution: "follow-redirects@npm:1.15.2" peerDependenciesMeta: @@ -7818,17 +7942,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^2.5.0": - version: 2.5.1 - resolution: "form-data@npm:2.5.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.6 - mime-types: ^2.1.12 - checksum: 7e8fb913b84a7ac04074781a18d0f94735bbe82815ff35348803331f6480956ff0035db5bcf15826edee09fe01e665cfac664678f1526646a6374ee13f960e56 - languageName: node - linkType: hard - "form-data@npm:^3.0.0": version: 3.0.1 resolution: "form-data@npm:3.0.1" @@ -7924,17 +8037,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: 5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -8101,7 +8203,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^5.0.0": +"get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" dependencies: @@ -8154,6 +8256,13 @@ __metadata: languageName: node linkType: hard +"git-hooks-list@npm:^3.0.0": + version: 3.1.0 + resolution: "git-hooks-list@npm:3.1.0" + checksum: f1b93dd11b80b2a687b99a8bb553c0d07f344532d475b3ac2a5ff044d40fa71567ddcfa5cb39fae0b4e43a670a33f02f71ec3b24b7263233f3a3df89deddfb5a + languageName: node + linkType: hard + "github-release-from-changelog@npm:^2.1.1": version: 2.1.1 resolution: "github-release-from-changelog@npm:2.1.1" @@ -8166,21 +8275,6 @@ __metadata: languageName: node linkType: hard -"gitlab@npm:^10.0.1": - version: 10.2.1 - resolution: "gitlab@npm:10.2.1" - dependencies: - form-data: ^2.5.0 - humps: ^2.0.1 - ky: ^0.12.0 - ky-universal: ^0.3.0 - li: ^1.3.0 - query-string: ^6.8.2 - universal-url: ^2.0.0 - checksum: 0d5ca8206b0505eef6c5a1c3d1694910bacac89519c889491beec3efcf799ae5263dc8bb5953ef4ee272d557811e0f45a781d5b6ee27be3280b73d80093e0c65 - languageName: node - linkType: hard - "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -8228,8 +8322,8 @@ __metadata: linkType: hard "glob@npm:^10.0.0": - version: 10.2.6 - resolution: "glob@npm:10.2.6" + version: 10.2.7 + resolution: "glob@npm:10.2.7" dependencies: foreground-child: ^3.1.0 jackspeak: ^2.0.3 @@ -8238,7 +8332,7 @@ __metadata: path-scurry: ^1.7.0 bin: glob: dist/cjs/src/bin.js - checksum: 5c80777fd10ee780095ae428fe2c2e57ec81bddae2e3be0174e515360de77075c28061c47f3aab06c226f50ef13371dbb2b5ff02241abc511bed1f2d60f74edf + checksum: 15b742f933c4302cca278527a720c1300ba67b92975005e54e0fb85fee85aff1c45e71fbac386a2e190e64b7b17897b5ae1bc6cbd2cdd96a62c0dc55c8fb076f languageName: node linkType: hard @@ -8255,7 +8349,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.0.3, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -8337,7 +8431,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.0.0, globby@npm:^13.1.4": +"globby@npm:^13.0.0, globby@npm:^13.1.2, globby@npm:^13.1.4": version: 13.1.4 resolution: "globby@npm:13.1.4" dependencies: @@ -8380,6 +8474,25 @@ __metadata: languageName: node linkType: hard +"got@npm:^11.1.4": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": ^4.0.0 + "@szmarczak/http-timer": ^4.0.5 + "@types/cacheable-request": ^6.0.1 + "@types/responselike": ^1.0.0 + cacheable-lookup: ^5.0.3 + cacheable-request: ^7.0.2 + decompress-response: ^6.0.0 + http2-wrapper: ^1.0.0-beta.5.2 + lowercase-keys: ^2.0.0 + p-cancelable: ^2.0.0 + responselike: ^2.0.0 + checksum: 754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 + languageName: node + linkType: hard + "graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -8401,13 +8514,6 @@ __metadata: languageName: node linkType: hard -"graphql@npm:^15.4.0": - version: 15.8.0 - resolution: "graphql@npm:15.8.0" - checksum: 30cc09b77170a9d1ed68e4c017ec8c5265f69501c96e4f34f8f6613f39a886c96dd9853eac925f212566ed651736334c8fe24ceae6c44e8d7625c95c3009a801 - languageName: node - linkType: hard - "grizzly@npm:^4.0.0": version: 4.0.3 resolution: "grizzly@npm:4.0.3" @@ -8535,14 +8641,7 @@ __metadata: languageName: node linkType: hard -"hasurl@npm:^1.0.0": - version: 1.0.0 - resolution: "hasurl@npm:1.0.0" - checksum: 7762739a9713612d7c81f8c59807c59e696ea4402861ff799fd9d507860d4e37ad7eac4e1741a713ae96a74306a98ee5a03245695352ede885cc4287a44c632b - languageName: node - linkType: hard - -"he@npm:^1.1.1": +"he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" bin: @@ -8609,26 +8708,13 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.0": +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc languageName: node linkType: hard -"http-errors@npm:1.8.1": - version: 1.8.1 - resolution: "http-errors@npm:1.8.1" - dependencies: - depd: ~1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.1 - checksum: f01aeecd76260a6fe7f08e192fcbe9b2f39ed20fc717b852669a69930167053b01790998275c6297d44f435cf0e30edd50c05223d1bec9bc484e6cf35b2d6f43 - languageName: node - linkType: hard - "http-errors@npm:2.0.0": version: 2.0.0 resolution: "http-errors@npm:2.0.0" @@ -8642,16 +8728,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^2.1.0": - version: 2.1.0 - resolution: "http-proxy-agent@npm:2.1.0" - dependencies: - agent-base: 4 - debug: 3.1.0 - checksum: 526294de33953bacb21b883d8bbc01a82e1e9f5a721785345dd538b15b62c7a5d4080b729eb3177ad15d842f931f44002431d5cf9b036cc8cea4bfb5ec172228 - languageName: node - linkType: hard - "http-proxy-agent@npm:^4.0.0, http-proxy-agent@npm:^4.0.1": version: 4.0.1 resolution: "http-proxy-agent@npm:4.0.1" @@ -8674,7 +8750,7 @@ __metadata: languageName: node linkType: hard -"http-proxy@npm:^1.18.0": +"http-proxy@npm:^1.18.1": version: 1.18.1 resolution: "http-proxy@npm:1.18.1" dependencies: @@ -8685,24 +8761,26 @@ __metadata: languageName: node linkType: hard -"http-server@npm:^0.12.3": - version: 0.12.3 - resolution: "http-server@npm:0.12.3" +"http-server@npm:^14.1.1": + version: 14.1.1 + resolution: "http-server@npm:14.1.1" dependencies: - basic-auth: ^1.0.3 - colors: ^1.4.0 + basic-auth: ^2.0.1 + chalk: ^4.1.2 corser: ^2.0.1 - ecstatic: ^3.3.2 - http-proxy: ^1.18.0 - minimist: ^1.2.5 + he: ^1.2.0 + html-encoding-sniffer: ^3.0.0 + http-proxy: ^1.18.1 + mime: ^1.6.0 + minimist: ^1.2.6 opener: ^1.5.1 - portfinder: ^1.0.25 + portfinder: ^1.0.28 secure-compare: 3.0.1 union: ~0.5.0 + url-join: ^4.0.1 bin: - hs: bin/http-server http-server: bin/http-server - checksum: fa779a959119d9870fc738eaa689a8b9ea447bbac97ad656a29e4cd84f9c89e9257ef66a7e597d919dff81def2e796e575d8e128193dfd2780cdaf447f1a01ca + checksum: c5770ddd722dd520ce0af25efee6bfb7c6300ff4e934636d4eec83fa995739e64de2e699e89e7a795b3a1894bcc37bec226617c1023600aacd7871fd8d6ffe6d languageName: node linkType: hard @@ -8724,6 +8802,16 @@ __metadata: languageName: node linkType: hard +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: ^5.1.1 + resolve-alpn: ^1.0.0 + checksum: 6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 + languageName: node + linkType: hard + "https-proxy-agent@npm:5.0.1, https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" @@ -8734,16 +8822,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^2.2.1": - version: 2.2.4 - resolution: "https-proxy-agent@npm:2.2.4" - dependencies: - agent-base: ^4.3.0 - debug: ^3.1.0 - checksum: 4bdde8fcd9ea0adc4a77282de2b4f9e27955e0441425af0f27f0fe01006946b80eaee6749e08e838d350c06ed2ebd5d11347d3beb88c45eacb0667e27276cdad - languageName: node - linkType: hard - "human-signals@npm:^1.1.1": version: 1.1.1 resolution: "human-signals@npm:1.1.1" @@ -8774,13 +8852,6 @@ __metadata: languageName: node linkType: hard -"humps@npm:^2.0.1": - version: 2.0.1 - resolution: "humps@npm:2.0.1" - checksum: 554f3bb9de780ce833f0058f30536f87615bd75ead2008b98d900598379fe5dcd3300bdd9092d3e078d47b66fade82276974dda7151318b5de7a1d837c3abe6e - languageName: node - linkType: hard - "husky@npm:^4.3.7": version: 4.3.8 resolution: "husky@npm:4.3.8" @@ -8935,13 +9006,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^1.0.0": - version: 1.4.0 - resolution: "interpret@npm:1.4.0" - checksum: 08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 - languageName: node - linkType: hard - "ip@npm:^2.0.0": version: 2.0.0 resolution: "ip@npm:2.0.0" @@ -9173,6 +9237,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -9257,6 +9328,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^4.1.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + "is-plain-object@npm:^5.0.0": version: 5.0.0 resolution: "is-plain-object@npm:5.0.0" @@ -9426,16 +9504,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-unfetch@npm:^3.1.0": - version: 3.1.0 - resolution: "isomorphic-unfetch@npm:3.1.0" - dependencies: - node-fetch: ^2.6.1 - unfetch: ^4.2.0 - checksum: d3b61fca06304db692b7f76bdfd3a00f410e42cfa7403c3b250546bf71589d18cf2f355922f57198e4cc4a9872d3647b20397a5c3edf1a347c90d57c83cf2a89 - languageName: node - linkType: hard - "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -9794,6 +9862,18 @@ __metadata: languageName: node linkType: hard +"jest-mock-extended@npm:^3.0.4": + version: 3.0.4 + resolution: "jest-mock-extended@npm:3.0.4" + dependencies: + ts-essentials: ^7.0.3 + peerDependencies: + jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 + typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: b9514c0cf2b50460ef154818f71fe356fb8b0bf66af72050257813f88f7bb7313a30172c7ff09bc19e16bc59bae7160a854be2f86364fb8fa70d6e16299db4e0 + languageName: node + linkType: hard + "jest-mock@npm:^27.3.0": version: 27.5.1 resolution: "jest-mock@npm:27.5.1" @@ -10066,7 +10146,7 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.3.0": +"joi@npm:^17.7.0": version: 17.9.2 resolution: "joi@npm:17.9.2" dependencies: @@ -10180,6 +10260,13 @@ __metadata: languageName: node linkType: hard +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -10233,7 +10320,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.0.0, json5@npm:^2.1.0, json5@npm:^2.2.2": +"json5@npm:^2.0.0, json5@npm:^2.1.0, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -10276,7 +10363,7 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:9.0.0": +"jsonwebtoken@npm:9.0.0, jsonwebtoken@npm:^9.0.0": version: 9.0.0 resolution: "jsonwebtoken@npm:9.0.0" dependencies: @@ -10288,24 +10375,6 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:^8.4.0": - version: 8.5.1 - resolution: "jsonwebtoken@npm:8.5.1" - dependencies: - jws: ^3.2.2 - lodash.includes: ^4.3.0 - lodash.isboolean: ^3.0.3 - lodash.isinteger: ^4.0.4 - lodash.isnumber: ^3.0.3 - lodash.isplainobject: ^4.0.6 - lodash.isstring: ^4.0.1 - lodash.once: ^4.0.0 - ms: ^2.1.1 - semver: ^5.6.0 - checksum: c5ad937b6fa23a230efa8ed8ca3c0da8ebfdd377bafc3e8432a11b03ef90e733400a00b26c0dfee47db44a2e64b88b154b57e9926a92990f98dd25aaed15006e - languageName: node - linkType: hard - "jsprim@npm:^1.2.2": version: 1.4.2 resolution: "jsprim@npm:1.4.2" @@ -10367,6 +10436,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.0.0": + version: 4.5.2 + resolution: "keyv@npm:4.5.2" + dependencies: + json-buffer: 3.0.1 + checksum: b633bf53a5afa5591f383d326746226e110e59f13c7e1e8d3e3c9580d2c2345c5eefc21cce168cd5be7fa34b9163e391927146fbd2b7ee7aa2f3aa02b7f0a7de + languageName: node + linkType: hard + "kind-of@npm:^3.0.2": version: 3.2.2 resolution: "kind-of@npm:3.2.2" @@ -10397,25 +10475,6 @@ __metadata: languageName: node linkType: hard -"ky-universal@npm:^0.3.0": - version: 0.3.0 - resolution: "ky-universal@npm:0.3.0" - dependencies: - abort-controller: ^3.0.0 - node-fetch: ^2.6.0 - peerDependencies: - ky: ">=0.12.0" - checksum: 8f2d5dba50f113bd4c67547cb8f6fb7ed94e3a62152a4778539452bd7064636c3467c9b3126c05e68ac53a2ca02ab740f0c260f05221f9610587eb8e03e469fa - languageName: node - linkType: hard - -"ky@npm:^0.12.0": - version: 0.12.0 - resolution: "ky@npm:0.12.0" - checksum: cdca90751ddf69521fd6bcb55acc236d61d4164850a55d7d4e1c167288af2c9ac0f7c9c8e70b409d583704e905ed9af10da4d5cd41b7d717484b5ade7801e24f - languageName: node - linkType: hard - "language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" @@ -10619,13 +10678,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - "lodash.includes@npm:^4.3.0": version: 4.3.0 resolution: "lodash.includes@npm:4.3.0" @@ -10633,27 +10685,6 @@ __metadata: languageName: node linkType: hard -"lodash.isboolean@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isboolean@npm:3.0.3" - checksum: 0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 - languageName: node - linkType: hard - -"lodash.isinteger@npm:^4.0.4": - version: 4.0.4 - resolution: "lodash.isinteger@npm:4.0.4" - checksum: 4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 - languageName: node - linkType: hard - -"lodash.isnumber@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isnumber@npm:3.0.3" - checksum: 2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d - languageName: node - linkType: hard - "lodash.isobject@npm:^3.0.2": version: 3.0.2 resolution: "lodash.isobject@npm:3.0.2" @@ -10661,20 +10692,6 @@ __metadata: languageName: node linkType: hard -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - "lodash.keys@npm:^4.0.8": version: 4.2.0 resolution: "lodash.keys@npm:4.2.0" @@ -10703,20 +10720,6 @@ __metadata: languageName: node linkType: hard -"lodash.once@npm:^4.0.0": - version: 4.1.1 - resolution: "lodash.once@npm:4.1.1" - checksum: 46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 - languageName: node - linkType: hard - -"lodash.set@npm:^4.3.2": - version: 4.3.2 - resolution: "lodash.set@npm:4.3.2" - checksum: c641d31905e51df43170dce8a1d11a1cff11356e2e2e75fe2615995408e9687d58c3e1d64c3c284c2df2bc519f79a98af737d2944d382ff82ffd244ff6075c29 - languageName: node - linkType: hard - "lodash.sortby@npm:^4.7.0": version: 4.7.0 resolution: "lodash.sortby@npm:4.7.0" @@ -10724,13 +10727,6 @@ __metadata: languageName: node linkType: hard -"lodash.uniq@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.uniq@npm:4.5.0" - checksum: 262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e - languageName: node - linkType: hard - "lodash@npm:4, lodash@npm:4.17.21, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:^4.17.4": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -10738,7 +10734,7 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.0.0": +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" dependencies: @@ -10791,10 +10787,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:7.16.1": - version: 7.16.1 - resolution: "lru-cache@npm:7.16.1" - checksum: 0cb0986ff022e13bdc52c2b1395c57d5d2cb1bfad24e4db7a5ab1118228eb51c19cdc7d19fc4197eec13e215a30194a3da7d0df4d3d839d1011bc3608c9f14d0 +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 languageName: node linkType: hard @@ -10824,25 +10820,9 @@ __metadata: linkType: hard "lru-cache@npm:^9.1.1": - version: 9.1.1 - resolution: "lru-cache@npm:9.1.1" - checksum: a70630bccc94e6d6bf5523de8103302407a3b0090f4e245d126569ba96f85b4fa10ad537fb5d9435c58ba3762c0880361f8f5a92d7c9d10b59c8fcc8a0c615e5 - languageName: node - linkType: hard - -"lunr-mutable-indexes@npm:2.3.2": - version: 2.3.2 - resolution: "lunr-mutable-indexes@npm:2.3.2" - dependencies: - lunr: ">= 2.3.0 < 2.4.0" - checksum: c7c7bbb836f21d5fbeb7216c582553f2024d173f3b9343c36eab487ed9cd87d7abe27cc16cf09ff29559c047aeef80177cbb7ee6e1b2af1bb61652448108b9d3 - languageName: node - linkType: hard - -"lunr@npm:>= 2.3.0 < 2.4.0": - version: 2.3.9 - resolution: "lunr@npm:2.3.9" - checksum: 77d7dbb4fbd602aac161e2b50887d8eda28c0fa3b799159cee380fbb311f1e614219126ecbbd2c3a9c685f1720a8109b3c1ca85cc893c39b6c9cc6a62a1d8a8b + version: 9.1.2 + resolution: "lru-cache@npm:9.1.2" + checksum: 886811ab451332c899c230274e7e51507c15e5b3b18f0b39fb55f558978d58799a0b1a50e04d60a448d8c970ff4e6ee718bb119083ca88abb78930284f1e0900 languageName: node linkType: hard @@ -11018,7 +10998,7 @@ __metadata: languageName: node linkType: hard -"memfs-or-file-map-to-github-branch@npm:^1.1.0": +"memfs-or-file-map-to-github-branch@npm:^1.2.1": version: 1.2.1 resolution: "memfs-or-file-map-to-github-branch@npm:1.2.1" dependencies: @@ -11141,6 +11121,20 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -11184,7 +11178,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.1.0, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.7, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -11458,7 +11452,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.6.11 resolution: "node-fetch@npm:2.6.11" dependencies: @@ -11551,7 +11545,7 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.8": +"node-releases@npm:^2.0.12": version: 2.0.12 resolution: "node-releases@npm:2.0.12" checksum: 01f9a7c135be5c8bc989b6c10b9840a7aee09040d46ba4e64b5ea0174fb8891f1277514aef75033ce42031f6cb72a04d4a7e99c70ca25488ad63ad6fc5a5b6a0 @@ -11599,6 +11593,13 @@ __metadata: languageName: node linkType: hard +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 + languageName: node + linkType: hard + "npm-run-path@npm:^2.0.0": version: 2.0.2 resolution: "npm-run-path@npm:2.0.2" @@ -11660,9 +11661,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.4 - resolution: "nwsapi@npm:2.2.4" - checksum: d6d297feed79e0fc984e7a9588fe20255a493c0645f35a3419b04662535311cc38126fa12d8e1a5ae8f18cc0de0ec0d36680e03fab44050f7117e0503ecc9c38 + version: 2.2.5 + resolution: "nwsapi@npm:2.2.5" + checksum: bc1cffd006ac9648085b89550be6083cdde7d7d4bd93139d4f1d7183c8cc6ca8878d8274c9f00456fd02701928d14df4f4ab2ff5422f172b9e9c1fa845dd49ce languageName: node linkType: hard @@ -11859,13 +11860,6 @@ __metadata: languageName: node linkType: hard -"octokit-pagination-methods@npm:^1.1.0": - version: 1.1.0 - resolution: "octokit-pagination-methods@npm:1.1.0" - checksum: e8b2b346e7ad91c1b10a3d8be76d8aa33889b4df0bd5c28106dc2e8b5498185bbb5bd884ef07a57b09a5c54003deb2814280bab6ed6991e9e650c5cdc9879924 - languageName: node - linkType: hard - "on-exit-leak-free@npm:^0.2.0": version: 0.2.0 resolution: "on-exit-leak-free@npm:0.2.0" @@ -11973,6 +11967,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^5.4.1": + version: 5.4.1 + resolution: "ora@npm:5.4.1" + dependencies: + bl: ^4.1.0 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-spinners: ^2.5.0 + is-interactive: ^1.0.0 + is-unicode-supported: ^0.1.0 + log-symbols: ^4.1.0 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + checksum: 10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 + languageName: node + linkType: hard + "os-homedir@npm:^1.0.0": version: 1.0.2 resolution: "os-homedir@npm:1.0.2" @@ -11997,6 +12008,13 @@ __metadata: languageName: node linkType: hard +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -12065,6 +12083,16 @@ __metadata: languageName: node linkType: hard +"p-retry@npm:^5.1.2": + version: 5.1.2 + resolution: "p-retry@npm:5.1.2" + dependencies: + "@types/retry": 0.12.1 + retry: ^0.13.1 + checksum: 9017001ebfbe2a08cf45c970106f6953f5c76d1f8d8e9ff81afcbf6c25fe9f0e13499c5ac49b35d114672cf15689a952f4f3287fd1316420eb810a5a99ecf4e7 + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -12436,7 +12464,7 @@ __metadata: languageName: node linkType: hard -"portfinder@npm:^1.0.25": +"portfinder@npm:^1.0.28": version: 1.0.32 resolution: "portfinder@npm:1.0.32" dependencies: @@ -12693,7 +12721,7 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^6.8.2": +"query-string@npm:^6.12.1": version: 6.14.1 resolution: "query-string@npm:6.14.1" dependencies: @@ -12726,6 +12754,13 @@ __metadata: languageName: node linkType: hard +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + "ramda@npm:0.29.0": version: 0.29.0 resolution: "ramda@npm:0.29.0" @@ -12909,15 +12944,6 @@ __metadata: languageName: node linkType: hard -"rechoir@npm:^0.6.2": - version: 0.6.2 - resolution: "rechoir@npm:0.6.2" - dependencies: - resolve: ^1.1.6 - checksum: 22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 - languageName: node - linkType: hard - "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -12944,7 +12970,7 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.4": +"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.9": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 @@ -13327,6 +13353,13 @@ __metadata: languageName: node linkType: hard +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -13357,7 +13390,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1": +"resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -13383,7 +13416,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" dependencies: @@ -13409,6 +13442,15 @@ __metadata: languageName: node linkType: hard +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: ^2.0.0 + checksum: 360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -13426,6 +13468,13 @@ __metadata: languageName: node linkType: hard +"retry@npm:^0.13.1": + version: 0.13.1 + resolution: "retry@npm:0.13.1" + checksum: 9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 + languageName: node + linkType: hard + "reusify@npm:^1.0.4": version: 1.0.4 resolution: "reusify@npm:1.0.4" @@ -13474,8 +13523,8 @@ __metadata: linkType: hard "rollup@npm:^3.2.5": - version: 3.23.0 - resolution: "rollup@npm:3.23.0" + version: 3.24.0 + resolution: "rollup@npm:3.24.0" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -13483,7 +13532,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: e0cdd5c188272e33d12c7f411f1a5727dbe97bdc58e178b14d4dccf679152c14abaae5130d5de7bc69ba5be5de829c367dc5c29ba93725756a15a241b80de4ab + checksum: b9c2d72937af906ddffcc4a9e66936912a391c7b20cd89ed5afd50dfb0350f8efac4f58f9087cf09a982183b7adf2b6a2bd461080f775891a1d145e77672f5d6 languageName: node linkType: hard @@ -13496,15 +13545,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^6.6.3": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" - dependencies: - tslib: ^1.9.0 - checksum: e556a13a9aa89395e5c9d825eabcfa325568d9c9990af720f3f29f04a888a3b854f25845c2b55875d875381abcae2d8100af9cacdc57576e7ed6be030a01d2fe - languageName: node - linkType: hard - "rxjs@npm:^7.5.1, rxjs@npm:^7.8.0": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -13573,14 +13613,14 @@ __metadata: linkType: hard "schema-utils@npm:^4.0.0": - version: 4.0.1 - resolution: "schema-utils@npm:4.0.1" + version: 4.1.0 + resolution: "schema-utils@npm:4.1.0" dependencies: "@types/json-schema": ^7.0.9 ajv: ^8.9.0 ajv-formats: ^2.1.1 ajv-keywords: ^5.1.0 - checksum: 946298a2efc7ae1cdf084bae8cd9927c25f8396cf0e848603f12554d3f8e962d375fbe337e60d7ed7e27dc69969f014e9b945a87ce32c6f9259a9d61c9d4fa28 + checksum: bb1b387936c5d98f8a7fbd21a158259af9c981fb07460b39052f8bddd068297ec06c41629177a3be54eac017ce077c9d71b01773502b99caad6be167c2a9b82c languageName: node linkType: hard @@ -13605,7 +13645,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -13625,25 +13665,25 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.3.8": - version: 7.3.8 - resolution: "semver@npm:7.3.8" +"semver@npm:7.5.0": + version: 7.5.0 + resolution: "semver@npm:7.5.0" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 7e581d679530db31757301c2117721577a2bb36a301a443aac833b8efad372cda58e7f2a464fe4412ae1041cc1f63a6c1fe0ced8c57ce5aca1e0b57bb0d627b9 + checksum: 203a556d7189c277b9774a325fd2695187b2822069094e0dbfcc56dfd10a1fd646a94e73812f249802a661f6437b2370ccb8ee330e7b9888b38e53c5a8216222 languageName: node linkType: hard -"semver@npm:7.5.0": - version: 7.5.0 - resolution: "semver@npm:7.5.0" +"semver@npm:7.5.1, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": + version: 7.5.1 + resolution: "semver@npm:7.5.1" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 203a556d7189c277b9774a325fd2695187b2822069094e0dbfcc56dfd10a1fd646a94e73812f249802a661f6437b2370ccb8ee330e7b9888b38e53c5a8216222 + checksum: ae6aca3cfba9b4d0e0a8fa789c7fa4a8412e39f24ecc19500db291a0a31bb43c151021e4fdbb68a85dcd06c1297f6daeeb09647cea4253eba0ccc0106eb7cd67 languageName: node linkType: hard @@ -13656,17 +13696,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": - version: 7.5.1 - resolution: "semver@npm:7.5.1" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: ae6aca3cfba9b4d0e0a8fa789c7fa4a8412e39f24ecc19500db291a0a31bb43c151021e4fdbb68a85dcd06c1297f6daeeb09647cea4253eba0ccc0106eb7cd67 - languageName: node - linkType: hard - "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -13746,19 +13775,6 @@ __metadata: languageName: node linkType: hard -"shelljs@npm:^0.8.5": - version: 0.8.5 - resolution: "shelljs@npm:0.8.5" - dependencies: - glob: ^7.0.0 - interpret: ^1.0.0 - rechoir: ^0.6.2 - bin: - shjs: bin/shjs - checksum: feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 - languageName: node - linkType: hard - "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -13784,6 +13800,17 @@ __metadata: languageName: node linkType: hard +"simple-git@npm:^3.18.0": + version: 3.19.0 + resolution: "simple-git@npm:3.19.0" + dependencies: + "@kwsites/file-exists": ^1.1.1 + "@kwsites/promise-deferred": ^1.1.1 + debug: ^4.3.4 + checksum: 4dc448e663f92bed8dd2d43e07b1c3dbb2444412f39d38b710fe3dc41b1c25dae07aff1960fbf5bd17d4f8f33b6908a335c82f0b9c5db5b87c4ad1d7a2873d7e + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -13887,12 +13914,12 @@ __metadata: languageName: node linkType: hard -"sonic-boom@npm:3.2.1": - version: 3.2.1 - resolution: "sonic-boom@npm:3.2.1" +"sonic-boom@npm:3.3.0": + version: 3.3.0 + resolution: "sonic-boom@npm:3.3.0" dependencies: atomic-sleep: ^1.0.0 - checksum: e922aaefc76ad54606369440467b72df4621cbbbff9739f348bdbb2bed36d4794feb9fd10a46c844992b29ed5fd43ea23c44f8ca4c8539e87ae565787f25ce2b + checksum: c5d387d9e35726a60afe5b5c54317db2428158ecaf3769fb16418e50d2a47176cbd800bf664a410dc0aab0792b421d394ce6edaf63b796ac3c7986f01933cddd languageName: node linkType: hard @@ -13912,7 +13939,7 @@ __metadata: languageName: node linkType: hard -"sort-package-json@npm:^1.22.1, sort-package-json@npm:^1.48.1": +"sort-package-json@npm:^1.22.1": version: 1.57.0 resolution: "sort-package-json@npm:1.57.0" dependencies: @@ -13928,6 +13955,22 @@ __metadata: languageName: node linkType: hard +"sort-package-json@npm:^2.0.0": + version: 2.4.1 + resolution: "sort-package-json@npm:2.4.1" + dependencies: + detect-indent: ^7.0.1 + detect-newline: ^4.0.0 + git-hooks-list: ^3.0.0 + globby: ^13.1.2 + is-plain-obj: ^4.1.0 + sort-object-keys: ^1.1.3 + bin: + sort-package-json: cli.js + checksum: 90fdf61b338f90c899c0c09e38de1826171976843889aeac1e34b87724a179140a4e89b967382635e2b0dcb3a4519c7f3dca3b219406a31f8d80e0e78d39df03 + languageName: node + linkType: hard + "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -14089,13 +14132,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:>= 1.5.0 < 2": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 - languageName: node - linkType: hard - "steno@npm:^0.4.1": version: 0.4.4 resolution: "steno@npm:0.4.4" @@ -14274,11 +14310,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.0.1 - resolution: "strip-ansi@npm:7.0.1" + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: ansi-regex: ^6.0.1 - checksum: a94805f54caefae6cf4870ee6acfe50cff69d90a37994bf02c096042d9939ee211e1568f34b9fa5efa03c7d7fea79cb3ac8a4e517ceb848284ae300da06ca7e9 + checksum: a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 languageName: node linkType: hard @@ -14660,14 +14696,14 @@ __metadata: linkType: hard "tough-cookie@npm:^4.1.2": - version: 4.1.2 - resolution: "tough-cookie@npm:4.1.2" + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" dependencies: psl: ^1.1.33 punycode: ^2.1.1 universalify: ^0.2.0 url-parse: ^1.5.3 - checksum: 1f9d97bc9ff22b41e107eca4a146064f916e567b5557795dbfe742f098557ba1101b8f7c4e02ac785236663f7f086c37dc595a5b9813ef8fb27f8d800dc9eb9b + checksum: 4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 languageName: node linkType: hard @@ -14752,6 +14788,15 @@ __metadata: languageName: node linkType: hard +"ts-essentials@npm:^7.0.3": + version: 7.0.3 + resolution: "ts-essentials@npm:7.0.3" + peerDependencies: + typescript: ">=3.7.0" + checksum: ea1919534ec6ce4ca4d9cb0ff1ab8e053509237da8d4298762ab3bfba4e78ca5649a599ce78a5c7c2624f3a7a971f62b265b7b0c3c881336e4fa6acaf6f37544 + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -14835,7 +14880,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.8.1, tslib@npm:^1.9.0": +"tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 @@ -14843,9 +14888,9 @@ __metadata: linkType: hard "tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0": - version: 2.5.2 - resolution: "tslib@npm:2.5.2" - checksum: 34fa100454708fa8acb7afc2b07d80e0332081e2075ddd912ba959af3b24f969663dac6d602961e57371dc05683badb83b3186ada92c4631ec777e02e3aab608 + version: 2.5.3 + resolution: "tslib@npm:2.5.3" + checksum: 4cb1817d34fae5b27d146e6c4a468d4155097d95c1335d0bc9690f11f33e63844806bf4ed6d97c30c72b8d85261b66cbbe16d871d9c594ac05701ec83e62a607 languageName: node linkType: hard @@ -14912,6 +14957,13 @@ __metadata: languageName: node linkType: hard +"tunnel@npm:^0.0.6": + version: 0.0.6 + resolution: "tunnel@npm:0.0.6" + checksum: e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75 + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -14951,52 +15003,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: 6b4d846534e7bcb49a6160b068ffaed2b62570d989d909ac3f29df5ef1e993859f890a4242eebe023c9e923f96adbcb3b3e88a198c35a1ee9a731e147a6839c3 - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: 0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 - languageName: node - linkType: hard - -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 - languageName: node - linkType: hard - -"type-fest@npm:^2.19.0": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-fest@npm:^3.0.0, type-fest@npm:^3.4.0": - version: 3.11.0 - resolution: "type-fest@npm:3.11.0" - checksum: df9f3d38a0b133dc7d517b1eb690d8da90f14fd72ff068dc1a6b0c45b20df36ff390fcf23256d85a114b17ac234422161a1438abb68b3d6364462cfc2846558d +"type-fest@npm:^3.11.0": + version: 3.11.1 + resolution: "type-fest@npm:3.11.1" + checksum: 55c0ba11e8b494684bf63f76e762ac44a95a9243a873cfc03c97f909477938d4a80f0c6265bfae92074072305447428748726385bbf2be4484b8451d73c84881 languageName: node linkType: hard @@ -15069,13 +15079,6 @@ __metadata: languageName: node linkType: hard -"unfetch@npm:^4.2.0": - version: 4.2.0 - resolution: "unfetch@npm:4.2.0" - checksum: a5c0a896a6f09f278b868075aea65652ad185db30e827cb7df45826fe5ab850124bf9c44c4dafca4bf0c55a0844b17031e8243467fcc38dd7a7d435007151f1b - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -15295,25 +15298,6 @@ __metadata: languageName: node linkType: hard -"universal-url@npm:^2.0.0": - version: 2.0.0 - resolution: "universal-url@npm:2.0.0" - dependencies: - hasurl: ^1.0.0 - whatwg-url: ^7.0.0 - checksum: 57a5f887676987650f9f2b62811159e2706645e6fbb2b5ed83d802d996310de1e39066478e6f4f11cc9ec4e92624dd0f943f950d9ecaac2763b2b22d2aac8ae0 - languageName: node - linkType: hard - -"universal-user-agent@npm:^4.0.0": - version: 4.0.1 - resolution: "universal-user-agent@npm:4.0.1" - dependencies: - os-name: ^3.1.0 - checksum: e590abd8decb36400d1a630da5957e61f0356492bf413e12f78c169cade915080b03dbfbe8fa62c557bd73413edc681de580ad84488565bf30a9d509fd1b311f - languageName: node - linkType: hard - "universal-user-agent@npm:^5.0.0": version: 5.0.0 resolution: "universal-user-agent@npm:5.0.0" @@ -15358,7 +15342,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.10": +"update-browserslist-db@npm:^1.0.11": version: 1.0.11 resolution: "update-browserslist-db@npm:1.0.11" dependencies: @@ -15381,10 +15365,10 @@ __metadata: languageName: node linkType: hard -"url-join@npm:^2.0.5": - version: 2.0.5 - resolution: "url-join@npm:2.0.5" - checksum: 4551af5942417c98db5eb43d1eaae65686ddcb7b9374241e93eea2b74e9b7f069c8eb0eac405eea9db496e2a79d73a805e0b85d7ab0b6238d6d771cd926c0dde +"url-join@npm:^4.0.1": + version: 4.0.1 + resolution: "url-join@npm:4.0.1" + checksum: ac65e2c7c562d7b49b68edddcf55385d3e922bc1dd5d90419ea40b53b6de1607d1e45ceb71efb9d60da02c681d13c6cb3a1aa8b13fc0c989dfc219df97ee992d languageName: node linkType: hard @@ -15459,6 +15443,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.0": + version: 9.0.0 + resolution: "uuid@npm:9.0.0" + bin: + uuid: dist/bin/uuid + checksum: 8867e438990d1d33ac61093e2e4e3477a2148b844e4fa9e3c2360fa4399292429c4b6ec64537eb1659c97b2d10db349c673ad58b50e2824a11e0d3630de3c056 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -15508,16 +15501,16 @@ __metadata: languageName: node linkType: hard -"verdaccio-audit@npm:11.0.0-6-next.31": - version: 11.0.0-6-next.31 - resolution: "verdaccio-audit@npm:11.0.0-6-next.31" +"verdaccio-audit@npm:11.0.0-6-next.34": + version: 11.0.0-6-next.34 + resolution: "verdaccio-audit@npm:11.0.0-6-next.34" dependencies: - "@verdaccio/config": 6.0.0-6-next.68 - "@verdaccio/core": 6.0.0-6-next.68 + "@verdaccio/config": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.71 express: 4.18.2 https-proxy-agent: 5.0.1 node-fetch: cjs - checksum: b1e7b6e813acb479e9e7b9f82aed1c2a122b0fb2dad4c0c2aaa4b06dcc6f0361cf3ae341d8d83704f210126ec07a7cf5d5a9ca7ce37d258814a64d5b95e03e4c + checksum: 4385a069b8e34dad5c84823805b8e4c82c0f84e0fe93ecad046a2cb5272d904d89f9d5d9015b03263351ed81b43b36424fd5fb996afa2dd4c129add6b0b8e73d languageName: node linkType: hard @@ -15530,37 +15523,38 @@ __metadata: languageName: node linkType: hard -"verdaccio-htpasswd@npm:11.0.0-6-next.38": - version: 11.0.0-6-next.38 - resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.38" +"verdaccio-htpasswd@npm:11.0.0-6-next.41": + version: 11.0.0-6-next.41 + resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.41" dependencies: - "@verdaccio/core": 6.0.0-6-next.68 + "@verdaccio/core": 6.0.0-6-next.71 "@verdaccio/file-locking": 11.0.0-6-next.7 apache-md5: 1.1.8 bcryptjs: 2.4.3 - core-js: 3.28.0 + core-js: 3.30.2 debug: 4.3.4 - http-errors: 1.8.1 + http-errors: 2.0.0 unix-crypt-td-js: 1.1.4 - checksum: 0855fbd9933268c6932268081c0370e4065df38193260c2acb0104005ed29c4878048d621cca75bb89f36b6eecd82beee138bfa48a4d46f69e9b6a51280546ea + checksum: 25478263efe9fa63dc817efe91a58cdb4b9069690fffe774937a39c294e6c0a85e15f7e80985bc2969f0e6c41028a382db1c03a5976f3adcd71e9a7c125d1615 languageName: node linkType: hard "verdaccio@npm:^5.19.1": - version: 5.24.1 - resolution: "verdaccio@npm:5.24.1" + version: 5.25.0 + resolution: "verdaccio@npm:5.25.0" dependencies: - "@verdaccio/config": 6.0.0-6-next.68 - "@verdaccio/core": 6.0.0-6-next.68 + "@verdaccio/config": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.71 "@verdaccio/local-storage": 10.3.3 - "@verdaccio/logger-7": 6.0.0-6-next.13 - "@verdaccio/middleware": 6.0.0-6-next.47 + "@verdaccio/logger-7": 6.0.0-6-next.16 + "@verdaccio/middleware": 6.0.0-6-next.50 + "@verdaccio/search": 6.0.0-6-next.2 "@verdaccio/signature": 6.0.0-6-next.2 "@verdaccio/streams": 10.2.1 - "@verdaccio/tarball": 11.0.0-6-next.37 - "@verdaccio/ui-theme": 6.0.0-6-next.68 - "@verdaccio/url": 11.0.0-6-next.34 - "@verdaccio/utils": 6.0.0-6-next.36 + "@verdaccio/tarball": 11.0.0-6-next.40 + "@verdaccio/ui-theme": 6.0.0-6-next.71 + "@verdaccio/url": 11.0.0-6-next.37 + "@verdaccio/utils": 6.0.0-6-next.39 JSONStream: 1.3.5 async: 3.2.4 body-parser: 1.20.2 @@ -15579,22 +15573,21 @@ __metadata: kleur: 4.1.5 lodash: 4.17.21 lru-cache: 7.18.3 - lunr-mutable-indexes: 2.3.2 mime: 3.0.0 mkdirp: 1.0.4 mv: 2.1.1 pkginfo: 0.4.1 request: 2.88.2 - semver: 7.5.0 + semver: 7.5.1 validator: 13.9.0 - verdaccio-audit: 11.0.0-6-next.31 - verdaccio-htpasswd: 11.0.0-6-next.38 + verdaccio-audit: 11.0.0-6-next.34 + verdaccio-htpasswd: 11.0.0-6-next.41 dependenciesMeta: "@verdaccio/types@11.0.0-6-next.24": unplugged: true bin: verdaccio: bin/verdaccio - checksum: 6657b6e9acf0d537f2c1b778c3391d80b2abe967872a677a21fa0a573af0af7426a59e4d1577ef3652ab502c02955fad739383ace17249bb1689e27a4d489b82 + checksum: 9d6a8bfa4865c30e96d6a4840a090cf021fa43bec0318e7b5ded97d05bf75174c7b62061baa295954f3e31e1a90562ec27cff3a550491c99271cf852bd4cff69 languageName: node linkType: hard @@ -15716,18 +15709,18 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^5.2.1": - version: 5.3.0 - resolution: "wait-on@npm:5.3.0" +"wait-on@npm:^7.0.1": + version: 7.0.1 + resolution: "wait-on@npm:7.0.1" dependencies: - axios: ^0.21.1 - joi: ^17.3.0 + axios: ^0.27.2 + joi: ^17.7.0 lodash: ^4.17.21 - minimist: ^1.2.5 - rxjs: ^6.6.3 + minimist: ^1.2.7 + rxjs: ^7.8.0 bin: wait-on: bin/wait-on - checksum: 5ca740e3f2cf4f73ebd2787ff15f7b8d0ee99f188dd37aae0a7d116ae9837f04b8752e4306218aee5165ca4e37cfd3c5b114627748e465e46f8cd51af0da1790 + checksum: 2a9c56d26dac573e6bfd36e85d99f072021c23dc2c0faab900a411460b58e16982b96b018d9168c366040f56196314fa46f3d79ef19e3dc38f55824d5035f2ec languageName: node linkType: hard @@ -15740,6 +15733,15 @@ __metadata: languageName: node linkType: hard +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: 5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + "web-streams-polyfill@npm:^3.0.3": version: 3.2.1 resolution: "web-streams-polyfill@npm:3.2.1" @@ -16031,6 +16033,13 @@ __metadata: languageName: node linkType: hard +"xcase@npm:^2.0.1": + version: 2.0.1 + resolution: "xcase@npm:2.0.1" + checksum: 11b8ae8f6734b29d442a5acf1dff3a896cabbf49e7ffa01472ff6fa687a6e6f6a25889d06c10a41950e7a90fe89239fa78d95eab0c5eb654ca75f0ccd71ba8ed + languageName: node + linkType: hard + "xdg-basedir@npm:^4.0.0": version: 4.0.0 resolution: "xdg-basedir@npm:4.0.0" @@ -16164,6 +16173,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.21.4": + version: 3.21.4 + resolution: "zod@npm:3.21.4" + checksum: 161e8cf7aea38a99244d65da4a9477d9d966f6a533e503feaa20ff7968a9691065c38c6f1eab5cbbdc8374142fff4a05c9cacb8479803ab50ab6a6ca80e5d624 + languageName: node + linkType: hard + "zwitch@npm:^1.0.0": version: 1.0.5 resolution: "zwitch@npm:1.0.5"