From 1a3aef6ba7261e1080290836689233d8b4b74f1d Mon Sep 17 00:00:00 2001 From: Andrij Orlenko <94047334+lotyp@users.noreply.github.com> Date: Fri, 6 Jan 2023 19:07:42 +0200 Subject: [PATCH] feat: improved ci process (#29) --- .github/actions/pnpm-install/action.yml | 35 ++ .github/dependabot.yml | 25 -- .github/workflows/auto-merge.yml | 41 -- .github/workflows/auto-rebase.yml | 21 - .github/workflows/ci-apps-docs.yml | 90 +++++ .github/workflows/ci-apps-web.yml | 113 ++++++ .github/workflows/ci-packages.yml | 83 ++++ .github/workflows/ci.yml | 77 ---- .github/workflows/e2e-apps-docs.yml.dist | 0 .github/workflows/e2e-apps-web.yml.dist | 0 .github/workflows/release-or-version-pr.yml | 58 +++ .github/workflows/release-please.yml | 36 -- .github/workflows/shellcheck.yml | 4 +- .github/workflows/sync-from-tpl.yml | 4 +- .yamllint | 1 + README.md | 43 +-- apps/docs/.escheckrc | 2 +- apps/web/.escheckrc | 2 +- apps/web/.gitignore | 32 +- apps/web/.size-limit.js | 28 +- apps/web/package.json | 8 +- package.json | 4 +- packages/common-i18n/package.json | 3 +- packages/eslint-config-custom/package.json | 2 +- packages/ui/package.json | 3 +- pnpm-lock.yaml | 408 +++++++++++--------- renovate.json | 5 +- turbo.json | 3 + 28 files changed, 687 insertions(+), 444 deletions(-) create mode 100644 .github/actions/pnpm-install/action.yml delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/auto-merge.yml delete mode 100644 .github/workflows/auto-rebase.yml create mode 100644 .github/workflows/ci-apps-docs.yml create mode 100644 .github/workflows/ci-apps-web.yml create mode 100644 .github/workflows/ci-packages.yml delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/e2e-apps-docs.yml.dist create mode 100644 .github/workflows/e2e-apps-web.yml.dist create mode 100644 .github/workflows/release-or-version-pr.yml delete mode 100644 .github/workflows/release-please.yml diff --git a/.github/actions/pnpm-install/action.yml b/.github/actions/pnpm-install/action.yml new file mode 100644 index 00000000..c2d3be14 --- /dev/null +++ b/.github/actions/pnpm-install/action.yml @@ -0,0 +1,35 @@ +--- +name: 'Monorepo install (pnpm)' +description: 'Run pnpm install' + +runs: + using: 'composite' + + steps: + - name: Expose pnpm config(s) through "$GITHUB_OUTPUT" + id: pnpm-config + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT + + - name: Cache rotation keys + id: cache-rotation + shell: bash + run: | + echo "YEAR_MONTH=$(/bin/date -u "+%Y%m")" >> $GITHUB_OUTPUT + echo "YEAR_WEEK=$(/bin/date -u "+%Y%W")" >> $GITHUB_OUTPUT + + - uses: actions/cache@v3 + name: Setup pnpm cache + id: pnpm-store-cache + with: + path: ${{ steps.pnpm-config.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-cache-${{ steps.cache-rotation.outputs.YEAR_WEEK }}-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store-cache-${{ steps.cache-rotation.outputs.YEAR_WEEK }}- + + - name: Install dependencies + shell: bash + run: pnpm install --frozen-lockfile --strict-peer-dependencies --prefer-offline + env: + HUSKY: '0' diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 0ce40227..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -version: 2 -updates: - - package-ecosystem: 'github-actions' - directory: '/' - schedule: - interval: 'daily' - commit-message: - include: 'scope' - prefix: 'github-actions' - labels: - - 'deps' - open-pull-requests-limit: 10 - - - package-ecosystem: 'npm' - directory: '/' - schedule: - interval: 'weekly' - commit-message: - include: 'scope' - prefix: 'npm' - labels: - - 'deps' - open-pull-requests-limit: 10 - versioning-strategy: 'increase' diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml deleted file mode 100644 index 43c91c89..00000000 --- a/.github/workflows/auto-merge.yml +++ /dev/null @@ -1,41 +0,0 @@ -# yamllint disable rule:line-length ---- -name: Dependabot auto-approve and auto-merge - -on: # yamllint disable-line rule:truthy - pull_request: - -permissions: - pull-requests: write - contents: write - -jobs: - dependabot: - runs-on: ubuntu-latest - if: ${{ github.actor == 'dependabot[bot]' }} - steps: - - name: Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v1.3.5 - with: - github-token: '${{ secrets.GITHUB_TOKEN }}' - - - name: Approve a PR - run: gh pr review --approve "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - - name: Enable auto-merge for Dependabot PRs (for patch and minor updates) - if: ${{ steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch' }} - run: gh pr merge --auto --merge "$PR_URL" - env: - PR_URL: ${{ github.event.pull_request.html_url }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Request reviews for Dependabot PRs (for all other updates) - if: ${{ steps.metadata.outputs.update-type != 'version-update:semver-minor' && steps.metadata.outputs.update-type != 'version-update:semver-patch' }} - run: gh pr edit "$PR_URL" --add-reviewer lotyp - env: - PR_URL: ${{ github.event.pull_request.html_url }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/auto-rebase.yml b/.github/workflows/auto-rebase.yml deleted file mode 100644 index f5381537..00000000 --- a/.github/workflows/auto-rebase.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Rebase pull requests - -on: # yamllint disable-line rule:truthy - push: - release: - types: - - published - -jobs: - auto-rebase: - name: Rebase dependabot PRs - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' || github.event == 'release' - timeout-minutes: 5 - - steps: - - name: Request rebase - uses: 'bbeesley/gha-auto-dependabot-rebase@v1.2.0' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci-apps-docs.yml b/.github/workflows/ci-apps-docs.yml new file mode 100644 index 00000000..bd962b13 --- /dev/null +++ b/.github/workflows/ci-apps-docs.yml @@ -0,0 +1,90 @@ +--- +name: CI for Docs App + +on: # yamllint disable-line rule:truthy + push: + branches: + - master + - develop + # Only consider those paths to trigger the action + paths: + - 'apps/docs/**' + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + + pull_request: + types: + - opened + - synchronize + - reopened + # Only consider those paths to trigger the action + paths: + - 'apps/docs/**' + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + +jobs: + integration: + name: Node ${{ matrix.node }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: ['ubuntu-22.04'] + node: ['18'] + pnpm: ['7'] + steps: + - name: Check out the codebase + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + id: pnpm-install + with: + version: ${{ matrix.pnpm }} + run_install: false + + - name: Setup node ${{ matrix.node }} + uses: actions/setup-node@v3 + with: + cache: 'pnpm' + node-version: ${{ matrix.node }} + registry-url: 'https://registry.npmjs.org/' + + - name: 📥 Monorepo install + uses: ./.github/actions/pnpm-install + + # see https://github.com/vercel/next.js/pull/27362 + - name: Restore "web" app build from cache + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/apps/docs/.next/cache + ${{ github.workspace }}/.cache + ${{ github.workspace }}/**/tsconfig.tsbuildinfo + key: ${{ runner.os }}-web-${{ hashFiles('pnpm*.yaml') }}-${{ hashFiles('apps/docs/src/**.[jt]sx?', 'apps/docs/src/**.json') }} + restore-keys: | + ${{ runner.os }}-web-${{ hashFiles('pnpm*.yaml') }}- + + - name: Typecheck + working-directory: apps/web + run: | + pnpm lint:types + + - name: Linter + working-directory: apps/web + run: | + pnpm lint + + - name: Build docs-app + working-directory: apps/web + run: | + pnpm --filter=docs build diff --git a/.github/workflows/ci-apps-web.yml b/.github/workflows/ci-apps-web.yml new file mode 100644 index 00000000..4de1c32f --- /dev/null +++ b/.github/workflows/ci-apps-web.yml @@ -0,0 +1,113 @@ +--- +name: CI for Web App + +on: # yamllint disable-line rule:truthy + push: + branches: + - master + - develop + # Only consider those paths to trigger the action + paths: + - 'apps/web/**' + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + + pull_request: + types: + - opened + - synchronize + - reopened + # Only consider those paths to trigger the action + paths: + - 'apps/web/**' + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + +jobs: + integration: + name: Node ${{ matrix.node }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: ['ubuntu-22.04'] + node: ['18'] + pnpm: ['7'] + steps: + - name: Check out the codebase + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + id: pnpm-install + with: + version: ${{ matrix.pnpm }} + run_install: false + + - name: Setup node ${{ matrix.node }} + uses: actions/setup-node@v3 + with: + cache: 'pnpm' + node-version: ${{ matrix.node }} + registry-url: 'https://registry.npmjs.org/' + + - name: 📥 Monorepo install + uses: ./.github/actions/pnpm-install + + # see https://github.com/vercel/next.js/pull/27362 + - name: Restore "web" app build from cache + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/apps/web/.next/cache + ${{ github.workspace }}/.cache + ${{ github.workspace }}/**/tsconfig.tsbuildinfo + key: ${{ runner.os }}-web-${{ hashFiles('pnpm*.yaml') }}-${{ hashFiles('apps/web/src/**.[jt]sx?', 'apps/web/src/**.json') }} + restore-keys: | + ${{ runner.os }}-web-${{ hashFiles('pnpm*.yaml') }}- + + - name: Typecheck + working-directory: apps/web + run: | + pnpm lint:types + + - name: Linter + working-directory: apps/web + run: | + pnpm lint + + - name: Build web-app + working-directory: apps/web + run: | + pnpm --filter=web build + env: + # Speed up build: they are linted in a previous step + NEXT_IGNORE_ESLINT: true + # Speed up build: they are type-checked in a previous step + NEXT_IGNORE_TYPECHECK: true + # Speed up build: don't run if not needed, enable if it becomes needed + NEXT_DISABLE_SOURCEMAPS: true + # Don't send telemetry for ci + NEXT_TELEMETRY_DISABLED: true + # To allow checking size-limits + NEXT_DISABLE_SENTRY: false + # Fully disable sentry upload + NEXT_SENTRY_UPLOAD_DRY_RUN: true + + - name: 📉 Check browser bundle size limits + working-directory: apps/web + run: | + pnpm --filter=web lint:size + + - name: 🌎 Ecmascript checks for build files + working-directory: apps/web + run: | + pnpm --filter=web lint:dist diff --git a/.github/workflows/ci-packages.yml b/.github/workflows/ci-packages.yml new file mode 100644 index 00000000..09bb3ce8 --- /dev/null +++ b/.github/workflows/ci-packages.yml @@ -0,0 +1,83 @@ +--- +name: CI for Packages + +on: # yamllint disable-line rule:truthy + push: + branches: + - master + - develop + # Only consider those paths to trigger the action + paths: + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + + pull_request: + types: + - opened + - synchronize + - reopened + # Only consider those paths to trigger the action + paths: + - 'packages/**' + - 'package.json' + - 'pnpm*' + - '.github/**' + - 'tsconfig.base.json' + +jobs: + integration: + name: Node ${{ matrix.node }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: ['ubuntu-22.04'] + node: ['18'] + pnpm: ['7'] + steps: + - name: Check out the codebase + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + id: pnpm-install + with: + version: ${{ matrix.pnpm }} + run_install: false + + - name: Setup node ${{ matrix.node }} + uses: actions/setup-node@v3 + with: + cache: 'pnpm' + node-version: ${{ matrix.node }} + registry-url: 'https://registry.npmjs.org/' + + - name: 📥 Monorepo install + uses: ./.github/actions/pnpm-install + + - name: Restore packages cache + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/.cache + ${{ github.workspace }}/**/tsconfig.tsbuildinfo + + key: ${{ runner.os }}-packages-cache-${{ hashFiles('**/pnpm*.yaml') }}-${{ hashFiles('packages/**.[jt]sx?', 'packages/**.json') }} + restore-keys: | + ${{ runner.os }}-packages-cache-${{ hashFiles('**/pnpm*.yaml') }}- + + # Typecheck packages that have changed + packages and apps that depends on them (--from & --since) + # That allows to see if we're introducing "surface" regressions (just the types) + - name: Typecheck + run: | + pnpm --filter "...[origin/master]" --changed-files-ignore-pattern="apps/*" run lint:types + + # Lint packages that have changed (--include & --since) + - name: Linter + run: | + pnpm --filter "...[origin/master]" --changed-files-ignore-pattern="apps/*" run lint diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 4c585173..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -name: CI - -on: # yamllint disable-line rule:truthy - push: - branches: - - master - pull_request: - branches: - - master - - develop - -jobs: - integration: - name: Node ${{ matrix.node }} - ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: ['ubuntu-22.04'] - node: ['18'] - pnpm: ['7'] - steps: - - name: Check out the codebase - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Install pnpm - uses: pnpm/action-setup@v2 - id: pnpm-install - with: - version: ${{ matrix.pnpm }} - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: 'bash' - run: echo "STORE_PATH=$(pnpm store path)" >> "$GITHUB_OUTPUT" - - - name: Setup node - uses: actions/setup-node@v3 - with: - cache: 'pnpm' - node-version: ${{ matrix.node }} - registry-url: 'https://registry.npmjs.org/' - - - name: Setup pnpm cache - uses: actions/cache@v3 - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install frontend dependencies - run: pnpm install - - - name: Mix frontend code - run: pnpm build - env: - NEXT_DISABLE_SENTRY: true - NEXT_SENTRY_DEBUG: false - NEXT_SENTRY_TRACING: 0 - NEXT_SENTRY_UPLOAD_DRY_RUN: true - SENTRY_URL: 'https://sentry.io/' - SENTRY_ORG: wayofdev - SENTRY_PROJECT: next-starter-tpl - - - if: github.event_name == 'pull_request' - name: Validate all commits from PR - uses: wagoid/commitlint-github-action@v5 - env: - NODE_PATH: ${{ github.workspace }}/node_modules - - - name: Linting - run: pnpm lint diff --git a/.github/workflows/e2e-apps-docs.yml.dist b/.github/workflows/e2e-apps-docs.yml.dist new file mode 100644 index 00000000..e69de29b diff --git a/.github/workflows/e2e-apps-web.yml.dist b/.github/workflows/e2e-apps-web.yml.dist new file mode 100644 index 00000000..e69de29b diff --git a/.github/workflows/release-or-version-pr.yml b/.github/workflows/release-or-version-pr.yml new file mode 100644 index 00000000..6b323fc0 --- /dev/null +++ b/.github/workflows/release-or-version-pr.yml @@ -0,0 +1,58 @@ +--- +name: ReleaseOrVersionPR + +on: # yamllint disable-line rule:truthy + push: + branches: + - master + +jobs: + release: + # Basic security: the release job can only be executed from this repo and from the master branch (not a remote thing) + if: ${{ github.repository == 'wayofdev/next-starter-tpl' && contains('refs/heads/master',github.ref)}} + name: Release using ${{ matrix.node }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: ['ubuntu-22.04'] + node: ['18'] + pnpm: ['7'] + + steps: + - name: Checkout + uses: actions/checkout@v3.2.0 + with: + # To run comparison we need more than the latest commit. + # @link https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches + fetch-depth: 0 + + - name: Setup node ${{ matrix.node }} + uses: actions/setup-node@v3 + with: + cache: 'pnpm' + node-version: ${{ matrix.node }} + registry-url: 'https://registry.npmjs.org/' + + - name: 📥 Monorepo install + uses: ./.github/actions/pnpm-install + + # @link https://github.com/changesets/action + - name: Create Release pull request or publish to npm + id: changesets + uses: changesets/action@v1 + with: + commit: 'chore: update versions' + title: 'chore: update versions' + cwd: ${{ github.workspace }} + # Optional, might be used in conjunction with GITHUB_TOKEN to + # allow running the workflows on a Version package action. + # Be aware of security implications. + # setupGitUser: true + # publish: pnpm cs:release + # version: pnpm cs:version + env: + # See https://github.com/changesets/action/issues/147 + HOME: ${{ github.workspace }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml deleted file mode 100644 index 1ea70060..00000000 --- a/.github/workflows/release-please.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -# https://github.com/google-github-actions/release-please-action#release-types-supported - -on: # yamllint disable-line rule:truthy - push: - branches: - - master - -name: Release please - -jobs: - release-please: - runs-on: ubuntu-latest - steps: - - uses: google-github-actions/release-please-action@v3 - id: release - with: - token: ${{ secrets.GITHUB_TOKEN }} - release-type: node - package-name: next-starter-tpl - default-branch: master - changelog-types: | - [ - { "type": "feat", "section": "Features", "hidden": false }, - { "type": "fix", "section": "Bug Fixes", "hidden": false }, - { "type": "perf", "section": "Performance Improvements", "hidden": false }, - { "type": "docs", "section": "Documentation", "hidden": false }, - { "type": "style", "section": "Styles", "hidden": false }, - { "type": "deps", "section": "Dependencies", "hidden": false }, - { "type": "refactor", "section": "Code Refactoring", "hidden": false }, - { "type": "ci", "section": "Continuous Integration", "hidden": false }, - { "type": "test", "section": "Tests", "hidden": false }, - { "type": "revert", "section": "Reverts", "hidden": true }, - { "type": "build", "section": "Build System", "hidden": true }, - { "type": "chore", "section": "Miscellaneous", "hidden": true } - ] diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index ee8a65bd..340b0430 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -15,12 +15,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3.1.0 + uses: actions/checkout@v3.2.0 with: fetch-depth: 0 - name: Differential shell-check - uses: redhat-plumbers-in-action/differential-shellcheck@latest + uses: redhat-plumbers-in-action/differential-shellcheck@v3.3.1 with: severity: warning token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/sync-from-tpl.yml b/.github/workflows/sync-from-tpl.yml index 60e3ccd0..8b0014d8 100644 --- a/.github/workflows/sync-from-tpl.yml +++ b/.github/workflows/sync-from-tpl.yml @@ -14,12 +14,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3.1.0 + uses: actions/checkout@v3.2.0 with: token: ${{ secrets.WORKFLOW_TOKEN }} - name: Sync changes from upstream template - uses: AndreasAugustin/actions-template-sync@v0.5.0-draft + uses: AndreasAugustin/actions-template-sync@v0.6.0-draft with: github_token: ${{ secrets.WORKFLOW_TOKEN }} source_repo_path: wayofdev/next-starter-tpl diff --git a/.yamllint b/.yamllint index 90ae7136..76704c66 100644 --- a/.yamllint +++ b/.yamllint @@ -6,6 +6,7 @@ ignore: | pnpm-lock.yaml pnpm-workspace.yaml node_modules/ + .pnpm-store/ # Overwrite above default rules rules: diff --git a/README.md b/README.md index 7700afc5..7d2eae51 100644 --- a/README.md +++ b/README.md @@ -9,37 +9,16 @@
-

- - Build Status - - - Latest Version - - - Software License - - Commits since latest release - - - Code Climate maintainability - - - Code Climate issues - - - Code Climate technical debt - - - Code Climate coverage - - - GitHub top language - - - Codesee code map - -

+
+Build Status +Latest Version +Software License +Commits since latest release +Code Climate maintainability +Code Climate issues +Code Climate technical debt + Code Climate coverage +

@@ -227,10 +206,12 @@ Other monorepo templates: - [waldronmatt/pnpm-turborepo-auto-boilerplate](https://github.com/waldronmatt/pnpm-turborepo-auto-boilerplate) — a monorepo boilerplate using pnpm, turborepo, and auto. - [mkosir/turborepo-boilerplate](https://github.com/mkosir/turborepo-boilerplate) — frontend turborepo boilerplate - [vercel/turbo](https://github.com/vercel/turbo/tree/main/examples) — turborepo examples from Vercel +- [nextauthjs/next-auth](https://github.com/nextauthjs/next-auth) — Authentication package, built as monorepo; real life example Other projects: - [ixartz/next-js-boilerplate](https://github.com/ixartz/Next-js-Boilerplate) +- [Lots of latest examples](https://github.com/vercel/next.js/tree/canary/examples) for NextJS from Vercel
diff --git a/apps/docs/.escheckrc b/apps/docs/.escheckrc index effb4a72..70f05560 100644 --- a/apps/docs/.escheckrc +++ b/apps/docs/.escheckrc @@ -1,5 +1,5 @@ { - "ecmaVersion": "es2018", + "ecmaVersion": "es2020", "module": false, "files": "./.next/static/chunks/**/*.js" } diff --git a/apps/web/.escheckrc b/apps/web/.escheckrc index effb4a72..70f05560 100644 --- a/apps/web/.escheckrc +++ b/apps/web/.escheckrc @@ -1,5 +1,5 @@ { - "ecmaVersion": "es2018", + "ecmaVersion": "es2020", "module": false, "files": "./.next/static/chunks/**/*.js" } diff --git a/apps/web/.gitignore b/apps/web/.gitignore index c82c67ac..57db52cc 100644 --- a/apps/web/.gitignore +++ b/apps/web/.gitignore @@ -1,2 +1,32 @@ -# Sentry +# sentry .sentryclirc + +# dependencies +node_modules +/.pnp +.pnp.js + +# testing +/coverage +/e2e/.out + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env +.env.local +.env.*.local diff --git a/apps/web/.size-limit.js b/apps/web/.size-limit.js index fd41e2ba..84f79381 100644 --- a/apps/web/.size-limit.js +++ b/apps/web/.size-limit.js @@ -1,15 +1,13 @@ // Just a basic example for size limit with simple file preset // @link https://github.com/ai/size-limit -let manifest; +let manifest try { - manifest = require('../docs/.next/build-manifest.json'); + manifest = require('./.next/build-manifest.json') } catch (e) { - throw new Error( - 'Cannot find a NextJs build folder, did you forget to build ?' - ); + throw new Error('Cannot find a NextJs build folder, did you forget to build ?') } -const pages = manifest.pages; +const pages = manifest.pages const limitCfg = { defaultSize: '85kb', @@ -20,28 +18,28 @@ const limitCfg = { '/_error': '90kb', '/_monitor/sentry/csr-page': '85kb', '/_monitor/sentry/ssr-page': '85kb', - '/admin': '100kb', '/auth/login': '120kb', '/home': '105kb', }, -}; +} + const getPageLimits = () => { - let pageLimits = []; + let pageLimits = [] for (const [uri, paths] of Object.entries(pages)) { pageLimits.push({ name: `Page '${uri}'`, limit: limitCfg.pages?.[uri] ?? limitCfg.defaultSize, - path: paths.map((p) => `.next/${p}`), - }); + path: paths.map(p => `.next/${p}`), + }) } - return pageLimits; -}; + return pageLimits +} module.exports = [ ...getPageLimits(), { name: 'CSS', - path: ['.next/static/css/**/*.css'], + path: ['./.next/static/css/**/*.css'], limit: '10 kB', }, -]; +] diff --git a/apps/web/package.json b/apps/web/package.json index bc6497fc..024f697b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -20,11 +20,11 @@ "next-auth": "^4.18.7", "react": "^18.2.0", "react-dom": "^18.2.0", - "type-fest": "^3.5.0" + "type-fest": "^3.5.1" }, "devDependencies": { "@next/bundle-analyzer": "13.1.1", - "@sentry/nextjs": "^7.28.1", + "@sentry/nextjs": "^7.29.0", "@size-limit/file": "^8.1.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/jest": "^29.2.5", @@ -40,9 +40,9 @@ "es-check": "^7.0.1", "eslint": "^8.31.0", "eslint-config-next": "^13.1.1", - "i18next": "^22.4.7", + "i18next": "^22.4.8", "jest": "^29.3.1", - "next-i18next": "^13.0.2", + "next-i18next": "^13.0.3", "picocolors": "1.0.0", "postcss": "^8.4.20", "postcss-100vh-fix": "^1.0.2", diff --git a/package.json b/package.json index 2fb53564..b83c6f54 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "lint:package-json": "sort-package-json package.json apps/*/package.json packages/*/package.json", "lint:dist": "turbo run lint:dist --parallel", "lint:size": "turbo run lint:size --parallel", - "lint:types": "turbo run typecheck --parallel", + "lint:types": "turbo run lint:types --parallel", "deps:check": "pnpm dlx npm-check-updates@latest --configFileName .ncurc.yml --deep --mergeConfig", "deps:update": "pnpm dlx npm-check-updates@latest --configFileName .ncurc.yml -u --deep --mergeConfig && pnpm install", "lint:fix": "turbo run lint:fix && pnpm lint:package-json", @@ -71,7 +71,7 @@ "devDependencies": { "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "2.26.0", - "@commitlint/cli": "^17.3.0", + "@commitlint/cli": "^17.4.0", "@types/node": "^18.11.18", "@types/prettier": "^2.7.2", "@types/shell-quote": "^1.7.1", diff --git a/packages/common-i18n/package.json b/packages/common-i18n/package.json index 1de4c0f2..9404e795 100644 --- a/packages/common-i18n/package.json +++ b/packages/common-i18n/package.json @@ -15,7 +15,8 @@ "scripts": { "clean": "rimraf dist .turbo", "lint": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --cache --cache-location ../../.cache/eslint/common-i18n.eslintcache", - "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --fix" + "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --fix", + "lint:types": "tsc --project ./tsconfig.json --noEmit" }, "devDependencies": { "@types/jest": "^29.2.5", diff --git a/packages/eslint-config-custom/package.json b/packages/eslint-config-custom/package.json index d85f388e..b18b5337 100644 --- a/packages/eslint-config-custom/package.json +++ b/packages/eslint-config-custom/package.json @@ -53,7 +53,7 @@ "clean": "rimraf --no-glob ./dist ./coverage ./tsconfig.tsbuildinfo", "lint": "eslint --ext .ts,.js,.cjs,.mjs --cache --cache-location ../../.cache/eslint/eslint-config-custom.eslintcache", "lint:fix": "eslint --ext .ts,.tsx,.js,.jsx --fix", - "typecheck": "tsc --project tsconfig.json --noEmit" + "lint:types": "tsc --project tsconfig.json --noEmit" }, "dependencies": { "@rushstack/eslint-patch": "^1.2.0", diff --git a/packages/ui/package.json b/packages/ui/package.json index 39d0bb16..24de8fbf 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -29,7 +29,8 @@ "scripts": { "clean": "rimraf dist .turbo", "lint": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --cache --cache-location ../../.cache/eslint/ui.eslintcache", - "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --fix" + "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx,.cjs,.mjs --fix", + "lint:types": "tsc --project tsconfig.json --noEmit" }, "dependencies": { "@swc/helpers": "^0.4.14", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 98b12a4f..20ac71af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ importers: specifiers: '@changesets/changelog-github': ^0.4.8 '@changesets/cli': 2.26.0 - '@commitlint/cli': ^17.3.0 + '@commitlint/cli': ^17.4.0 '@types/node': ^18.11.18 '@types/prettier': ^2.7.2 '@types/shell-quote': ^1.7.1 @@ -107,7 +107,7 @@ importers: specifiers: '@fontsource/inter': ^4.5.14 '@next/bundle-analyzer': 13.1.1 - '@sentry/nextjs': ^7.28.1 + '@sentry/nextjs': ^7.29.0 '@size-limit/file': ^8.1.0 '@types/hoist-non-react-statics': ^3.3.1 '@types/jest': ^29.2.5 @@ -124,11 +124,11 @@ importers: es-check: ^7.0.1 eslint: ^8.31.0 eslint-config-next: ^13.1.1 - i18next: ^22.4.7 + i18next: ^22.4.8 jest: ^29.3.1 next: ^13.1.1 next-auth: ^4.18.7 - next-i18next: ^13.0.2 + next-i18next: ^13.0.3 picocolors: 1.0.0 postcss: ^8.4.20 postcss-100vh-fix: ^1.0.2 @@ -143,7 +143,7 @@ importers: sanitize.css: ^13.0.0 size-limit: ^8.1.0 tailwindcss: ^3.2.4 - type-fest: ^3.5.0 + type-fest: ^3.5.1 typescript: ^4.9.4 dependencies: '@fontsource/inter': 4.5.14 @@ -152,10 +152,10 @@ importers: next-auth: 4.18.7_q76c2b4vyoegvsbrcwkfvimnai react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - type-fest: 3.5.0 + type-fest: 3.5.1 devDependencies: '@next/bundle-analyzer': 13.1.1 - '@sentry/nextjs': 7.28.1_next@13.1.1+react@18.2.0 + '@sentry/nextjs': 7.29.0_next@13.1.1+react@18.2.0 '@size-limit/file': 8.1.0_size-limit@8.1.0 '@types/hoist-non-react-statics': 3.3.1 '@types/jest': 29.2.5 @@ -354,19 +354,19 @@ packages: resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} engines: {node: '>=6.9.0'} - /@babel/core/7.20.7: - resolution: {integrity: sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==} + /@babel/core/7.20.12: + resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.20.7 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.7 '@babel/parser': 7.20.7 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 convert-source-map: 1.9.0 debug: 4.3.4 @@ -384,14 +384,14 @@ packages: '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.7: + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.20.10 - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 lru-cache: 5.1.1 @@ -430,7 +430,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -468,7 +468,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 + '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -488,119 +488,119 @@ packages: dependencies: '@babel/types': 7.20.7 - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.7: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.7: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.7: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.7: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.7: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.7: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.7: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.7: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.7: + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12: resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 /@babel/runtime-corejs3/7.20.7: @@ -624,8 +624,8 @@ packages: '@babel/parser': 7.20.7 '@babel/types': 7.20.7 - /@babel/traverse/7.20.10: - resolution: {integrity: sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==} + /@babel/traverse/7.20.12: + resolution: {integrity: sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 @@ -1446,7 +1446,7 @@ packages: resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@jest/types': 29.3.1 '@jridgewell/trace-mapping': 0.3.17 babel-plugin-istanbul: 6.1.1 @@ -2065,14 +2065,14 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} dev: true - /@sentry/browser/7.28.1: - resolution: {integrity: sha512-N8j93IcrWKWorfJ5D+RSKVAvcR4S5tIcZ/HvFPMrQWnfVa/jtJcrKThdjZYteA0wjmPiy8/D3KA8nB91yulBPA==} + /@sentry/browser/7.29.0: + resolution: {integrity: sha512-Af+dIcntaw405Wt7myDOMGDxiszfy4aBdshrEKYbGgcfHjgXBIdF3iKlNatvl6nrOm+IOVuKgSpCLOr2hiCwzw==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.28.1 - '@sentry/replay': 7.28.1_@sentry+browser@7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/core': 7.29.0 + '@sentry/replay': 7.29.0_@sentry+browser@7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 tslib: 1.14.1 dev: true @@ -2094,27 +2094,27 @@ packages: - supports-color dev: true - /@sentry/core/7.28.1: - resolution: {integrity: sha512-7wvnuvn/mrAfcugWoCG/3pqDIrUgH5t+HisMJMGw0h9Tc33KqrmqMDCQVvjlrr2pWrw/vuUCFdm8CbUHJ832oQ==} + /@sentry/core/7.29.0: + resolution: {integrity: sha512-+e9aIp2ljtT4EJq3901z6TfEVEeqZd5cWzbKEuQzPn2UO6If9+Utd7kY2Y31eQYb4QnJgZfiIEz1HonuYY6zqQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 tslib: 1.14.1 dev: true - /@sentry/integrations/7.28.1: - resolution: {integrity: sha512-opeXVR1L9mZmZcpAs9kX+4JPY7pXhVupy17Sbz+43zd5CshYTveIcttGNPp+EPT3j7mMU+1TMAYZspKqJXtEBQ==} + /@sentry/integrations/7.29.0: + resolution: {integrity: sha512-BkZe3ALij320VtC5bNkeSz3OUhT9oxZsj2lf5rCuRFqcqw4tvVNADF/Y98mf0L4VCy582M9MlNXmwfewJjxGOA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 localforage: 1.10.0 tslib: 1.14.1 dev: true - /@sentry/nextjs/7.28.1_next@13.1.1+react@18.2.0: - resolution: {integrity: sha512-y2ldKQmLTEMaBk2Z7jBKpNdQVu19b/B0iN2zIXtdmDLDKiJ1v7923YTgDuMFq3aRv9Yg38/90NsDGNW1f9U7Ww==} + /@sentry/nextjs/7.29.0_next@13.1.1+react@18.2.0: + resolution: {integrity: sha512-KjTWW5RIXbXWyhWr0XmLdid0EiscS2yCOEC4CAjuZdTz4Dz1980qPdlm/7VuPT9pDklRmcYX750am8k1hoM/yQ==} engines: {node: '>=8'} peerDependencies: next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 @@ -2126,13 +2126,13 @@ packages: dependencies: '@rollup/plugin-sucrase': 4.0.4_rollup@2.78.0 '@rollup/plugin-virtual': 3.0.0_rollup@2.78.0 - '@sentry/core': 7.28.1 - '@sentry/integrations': 7.28.1 - '@sentry/node': 7.28.1 - '@sentry/react': 7.28.1_react@18.2.0 - '@sentry/tracing': 7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/core': 7.29.0 + '@sentry/integrations': 7.29.0 + '@sentry/node': 7.29.0 + '@sentry/react': 7.29.0_react@18.2.0 + '@sentry/tracing': 7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 '@sentry/webpack-plugin': 1.20.0 chalk: 3.0.0 next: 13.1.1_biqbaboplfbrettd7655fr4n2y @@ -2144,13 +2144,13 @@ packages: - supports-color dev: true - /@sentry/node/7.28.1: - resolution: {integrity: sha512-n7AbpJqZJjWPpKNGc55mP7AdQ+XSomS9MZJuZ+Xt2AU52aVwGPI4z9aHUJFSDGaMHHiu/toyPnoUES+XZf6/hw==} + /@sentry/node/7.29.0: + resolution: {integrity: sha512-s/bN/JS5gPTmwzVms4FtI5YNYtC9aGY4uqdx/llVrIiVv7G6md/oJJzKtO1C4dt6YshjGjSs5KCpEn1NM4+1iA==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/core': 7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 cookie: 0.4.2 https-proxy-agent: 5.0.1 lru_map: 0.3.3 @@ -2159,52 +2159,52 @@ packages: - supports-color dev: true - /@sentry/react/7.28.1_react@18.2.0: - resolution: {integrity: sha512-sFKK7uDREh84GyJcXDNuiQQ5VhLx7XJTOAdELxLv4HEI6BxbBRz0zNRQiKamTRkz9NmL7bZtld5TfbpOo9kijg==} + /@sentry/react/7.29.0_react@18.2.0: + resolution: {integrity: sha512-pJ138QTChfAiYzFrCgycBgXrAVARV6TdVvLB8z/HsqbHzPq17RhyF9M1xPE4ffeLDQAEuSudwED9CLOpJqKnAw==} engines: {node: '>=8'} peerDependencies: react: 15.x || 16.x || 17.x || 18.x dependencies: - '@sentry/browser': 7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/browser': 7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 hoist-non-react-statics: 3.3.2 react: 18.2.0 tslib: 1.14.1 dev: true - /@sentry/replay/7.28.1_@sentry+browser@7.28.1: - resolution: {integrity: sha512-Os0PzMjKlwtHwzTU0kfVzGzsi4Vaj3g2arCl4Qnr3b6kYTb9WOFZo/n/v56ss7Z+nZG3K8W5PisoD4MRsRJRig==} + /@sentry/replay/7.29.0_@sentry+browser@7.29.0: + resolution: {integrity: sha512-Gw7HgviJQu6pX5RFQGVY38Av4qFn9otrZdwSSl/QK5hIyg6yhlh5h7U0ydZkrYYGiW6Z6SYYRpEWCJc/Wbh+ZQ==} engines: {node: '>=12'} peerDependencies: '@sentry/browser': '>=7.24.0' dependencies: - '@sentry/browser': 7.28.1 - '@sentry/core': 7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/browser': 7.29.0 + '@sentry/core': 7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 dev: true - /@sentry/tracing/7.28.1: - resolution: {integrity: sha512-uWspnuz+7FyW8ES5lRaVA7O/YJSzMlSkvBFtgzaoKmdaueokU/sRLwlCsrdgwavG1wpm79df7R1iiSeqhaXDlw==} + /@sentry/tracing/7.29.0: + resolution: {integrity: sha512-MAN/G6XROtRhzo/KDjddb6VJn/Q1TaPLwdyj9vvfkUkBNtlt5k16oXp+u7eHWX0uujER9wnZtj2ivXaPeqq0VA==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.28.1 - '@sentry/types': 7.28.1 - '@sentry/utils': 7.28.1 + '@sentry/core': 7.29.0 + '@sentry/types': 7.29.0 + '@sentry/utils': 7.29.0 tslib: 1.14.1 dev: true - /@sentry/types/7.28.1: - resolution: {integrity: sha512-DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==} + /@sentry/types/7.29.0: + resolution: {integrity: sha512-DmoEpoqHPty3VxqubS/5gxarwebHRlcBd/yuno+PS3xy++/i9YPjOWLZhU2jYs1cW68M9R6CcCOiC9f2ckJjdw==} engines: {node: '>=8'} dev: true - /@sentry/utils/7.28.1: - resolution: {integrity: sha512-75/jzLUO9HH09iC9TslNimGbxOP3jgn89P+q7uR+rp2fJfRExHVeKJZQdK0Ij4/SmE7TJ3Uh2r154N0INZEx1g==} + /@sentry/utils/7.29.0: + resolution: {integrity: sha512-ICcBwTiBGK8NQA8H2BJo0JcMN6yCeKLqNKNMVampRgS6wSfSk1edvcTdhRkW3bSktIGrIPZrKskBHyMwDGF2XQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.28.1 + '@sentry/types': 7.29.0 tslib: 1.14.1 dev: true @@ -2922,7 +2922,7 @@ packages: /aria-query/5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: - deep-equal: 2.1.0 + deep-equal: 2.2.0 /array-differ/3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} @@ -2939,7 +2939,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 get-intrinsic: 1.1.3 is-string: 1.0.7 @@ -2953,7 +2953,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 es-shim-unscopables: 1.0.0 /array.prototype.flatmap/1.3.1: @@ -2962,7 +2962,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 es-shim-unscopables: 1.0.0 /array.prototype.tosorted/1.1.1: @@ -2970,7 +2970,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 es-shim-unscopables: 1.0.0 get-intrinsic: 1.1.3 @@ -3013,7 +3013,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001441 + caniuse-lite: 1.0.30001442 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -3025,24 +3025,24 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /axe-core/4.6.1: - resolution: {integrity: sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==} + /axe-core/4.6.2: + resolution: {integrity: sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==} engines: {node: '>=4'} /axobject-query/2.2.0: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} - /babel-jest/29.3.1_@babel+core@7.20.7: + /babel-jest/29.3.1_@babel+core@7.20.12: resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@jest/transform': 29.3.1 '@types/babel__core': 7.1.20 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.2.0_@babel+core@7.20.7 + babel-preset-jest: 29.2.0_@babel+core@7.20.12 chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -3070,34 +3070,34 @@ packages: '@types/babel__core': 7.1.20 '@types/babel__traverse': 7.18.3 - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.7: + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.12: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.7 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.7 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.7 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.7 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.7 - - /babel-preset-jest/29.2.0_@babel+core@7.20.7: + '@babel/core': 7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12 + + /babel-preset-jest/29.2.0_@babel+core@7.20.12: resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 babel-plugin-jest-hoist: 29.2.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.7 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 /bail/2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -3159,7 +3159,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001441 + caniuse-lite: 1.0.30001442 electron-to-chromium: 1.4.284 node-releases: 2.0.8 update-browserslist-db: 1.0.10_browserslist@4.21.4 @@ -3220,8 +3220,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-lite/1.0.30001441: - resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} + /caniuse-lite/1.0.30001442: + resolution: {integrity: sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==} /ccount/2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -3784,15 +3784,17 @@ packages: /dedent/0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - /deep-equal/2.1.0: - resolution: {integrity: sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==} + /deep-equal/2.2.0: + resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: call-bind: 1.0.2 es-get-iterator: 1.1.2 get-intrinsic: 1.1.3 is-arguments: 1.1.1 + is-array-buffer: 3.0.1 is-date-object: 1.0.5 is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 @@ -3921,7 +3923,7 @@ packages: hasBin: true dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001441 + caniuse-lite: 1.0.30001442 css-rule-stream: 1.1.0 duplexer2: 0.0.2 ldjson-stream: 1.2.1 @@ -4002,26 +4004,31 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract/1.20.5: - resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==} + /es-abstract/1.21.0: + resolution: {integrity: sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 function-bind: 1.1.1 function.prototype.name: 1.1.5 get-intrinsic: 1.1.3 get-symbol-description: 1.0.0 + globalthis: 1.0.3 gopd: 1.0.1 has: 1.0.3 has-property-descriptors: 1.0.0 + has-proto: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.4 + is-array-buffer: 3.0.1 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 + is-typed-array: 1.1.10 is-weakref: 1.0.2 object-inspect: 1.12.2 object-keys: 1.1.1 @@ -4030,7 +4037,9 @@ packages: safe-regex-test: 1.0.0 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 /es-check/7.0.1: resolution: {integrity: sha512-I2+Wov4dEikUjn4xnJwW6YmbhPXzgtqT9kXfron2P7YzHBuzwVQPQn446VIBUgtiNujagtPfMts3/whNydgx/g==} @@ -4056,6 +4065,14 @@ packages: is-string: 1.0.7 isarray: 2.0.5 + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.3 + has: 1.0.3 + has-tostringtag: 1.0.0 + /es-shim-unscopables/1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: @@ -4287,7 +4304,7 @@ packages: aria-query: 4.2.2 array-includes: 3.1.6 ast-types-flow: 0.0.7 - axe-core: 4.6.1 + axe-core: 4.6.2 axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 @@ -4863,7 +4880,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 functions-have-names: 1.2.3 /functions-have-names/1.2.3: @@ -5046,6 +5063,12 @@ packages: dependencies: type-fest: 0.20.2 + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.1.4 + /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} @@ -5131,6 +5154,10 @@ packages: dependencies: get-intrinsic: 1.1.3 + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + /has-symbols/1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -5166,15 +5193,15 @@ packages: '@types/hast': 2.3.4 '@types/parse5': 6.0.3 '@types/unist': 2.0.6 - hastscript: 7.1.0 + hastscript: 7.2.0 property-information: 6.2.0 vfile: 5.3.6 vfile-location: 4.0.1 web-namespaces: 2.0.1 dev: false - /hast-util-is-element/2.1.2: - resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==} + /hast-util-is-element/2.1.3: + resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} dependencies: '@types/hast': 2.3.4 '@types/unist': 2.0.6 @@ -5196,7 +5223,7 @@ packages: comma-separated-tokens: 2.0.3 estree-util-attach-comments: 2.1.0 estree-util-is-identifier-name: 2.0.1 - hast-util-whitespace: 2.0.0 + hast-util-whitespace: 2.0.1 mdast-util-mdx-expression: 1.3.1 mdast-util-mdxjs-esm: 1.3.0 property-information: 6.2.0 @@ -5214,20 +5241,21 @@ packages: '@types/hast': 2.3.4 dev: false - /hast-util-to-text/3.1.1: - resolution: {integrity: sha512-7S3mOBxACy8syL45hCn3J7rHqYaXkxRfsX6LXEU5Shz4nt4GxdjtMUtG+T6G/ZLUHd7kslFAf14kAN71bz30xA==} + /hast-util-to-text/3.1.2: + resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==} dependencies: '@types/hast': 2.3.4 - hast-util-is-element: 2.1.2 + '@types/unist': 2.0.6 + hast-util-is-element: 2.1.3 unist-util-find-after: 4.0.0 dev: false - /hast-util-whitespace/2.0.0: - resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} + /hast-util-whitespace/2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: false - /hastscript/7.1.0: - resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==} + /hastscript/7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} dependencies: '@types/hast': 2.3.4 comma-separated-tokens: 2.0.3 @@ -5427,6 +5455,13 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 + /is-array-buffer/3.0.1: + resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + is-typed-array: 1.1.10 + /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -5720,7 +5755,7 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/parser': 7.20.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 @@ -5862,10 +5897,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@jest/test-sequencer': 29.3.1 '@jest/types': 29.3.1 - babel-jest: 29.3.1_@babel+core@7.20.7 + babel-jest: 29.3.1_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.1 deepmerge: 4.2.2 @@ -5900,11 +5935,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@jest/test-sequencer': 29.3.1 '@jest/types': 29.3.1 '@types/node': 18.11.18 - babel-jest: 29.3.1_@babel+core@7.20.7 + babel-jest: 29.3.1_@babel+core@7.20.12 chalk: 4.1.2 ci-info: 3.7.1 deepmerge: 4.2.2 @@ -6121,18 +6156,18 @@ packages: resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.20.7 + '@babel/core': 7.20.12 '@babel/generator': 7.20.7 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.7 - '@babel/traverse': 7.20.10 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 + '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 '@jest/expect-utils': 29.3.1 '@jest/transform': 29.3.1 '@jest/types': 29.3.1 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.7 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.12 chalk: 4.1.2 expect: 29.3.1 graceful-fs: 4.2.10 @@ -6769,7 +6804,7 @@ packages: resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} dependencies: '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 micromark-util-normalize-identifier: 1.0.0 dev: false @@ -6777,7 +6812,7 @@ packages: resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} dependencies: '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 dev: false /mdast-util-gfm-table/1.0.6: @@ -6786,7 +6821,7 @@ packages: '@types/mdast': 3.0.10 markdown-table: 3.0.3 mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: false @@ -6795,7 +6830,7 @@ packages: resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} dependencies: '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 dev: false /mdast-util-gfm/2.0.1: @@ -6807,7 +6842,7 @@ packages: mdast-util-gfm-strikethrough: 1.0.2 mdast-util-gfm-table: 1.0.6 mdast-util-gfm-task-list-item: 1.0.1 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: false @@ -6817,7 +6852,7 @@ packages: dependencies: '@types/mdast': 3.0.10 longest-streak: 3.1.0 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 dev: false /mdast-util-mdx-expression/1.3.1: @@ -6827,7 +6862,7 @@ packages: '@types/hast': 2.3.4 '@types/mdast': 3.0.10 mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: false @@ -6839,7 +6874,7 @@ packages: '@types/hast': 2.3.4 '@types/mdast': 3.0.10 ccount: 2.0.1 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 parse-entities: 4.0.0 stringify-entities: 4.0.3 unist-util-remove-position: 4.0.1 @@ -6864,11 +6899,18 @@ packages: '@types/hast': 2.3.4 '@types/mdast': 3.0.10 mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: false + /mdast-util-phrasing/3.0.0: + resolution: {integrity: sha512-S+QYsDRLkGi8U7o5JF1agKa/sdP+CNGXXLqC17pdTVL8FHHgQEiwFGa9yE5aYtUxNiFGYoaDy9V1kC85Sz86Gg==} + dependencies: + '@types/mdast': 3.0.10 + unist-util-is: 5.1.1 + dev: false + /mdast-util-to-hast/12.2.5: resolution: {integrity: sha512-EFNhT35ZR/VZ85/EedDdCNTq0oFM+NM/+qBomVGQ0+Lcg0nhI8xIwmdCzNMlVlCJNXRprpobtKP/IUh8cfz6zQ==} dependencies: @@ -6883,12 +6925,13 @@ packages: unist-util-visit: 4.1.1 dev: false - /mdast-util-to-markdown/1.4.0: - resolution: {integrity: sha512-IjXARf/O8VGx/pc5SZ7syfydq1DYL9vd92orsG5U0b4GNCmAvXzu+n7sbzfIKrXwB0AVrYk3NV2kXl0AIi9LCA==} + /mdast-util-to-markdown/1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: '@types/mdast': 3.0.10 '@types/unist': 2.0.6 longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.0 mdast-util-to-string: 3.1.0 micromark-util-decode-string: 1.0.2 unist-util-visit: 4.1.1 @@ -7538,7 +7581,7 @@ packages: dependencies: '@next/env': 13.1.1 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001441 + caniuse-lite: 1.0.30001442 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -7767,7 +7810,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /object.fromentries/2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} @@ -7775,13 +7818,13 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /object.hasown/1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /object.values/1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} @@ -7789,7 +7832,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /oidc-token-hash/5.0.1: resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==} @@ -8932,7 +8975,7 @@ packages: dependencies: '@types/hast': 2.3.4 '@types/katex': 0.11.1 - hast-util-to-text: 3.1.1 + hast-util-to-text: 3.1.2 katex: 0.15.6 rehype-parse: 8.0.4 unified: 10.1.2 @@ -9033,7 +9076,7 @@ packages: resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==} dependencies: '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 + mdast-util-to-markdown: 1.5.0 unified: 10.1.2 dev: false @@ -9534,7 +9577,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 get-intrinsic: 1.1.3 has-symbols: 1.0.3 internal-slot: 1.0.4 @@ -9547,7 +9590,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 dev: true /string.prototype.trimend/1.0.6: @@ -9555,14 +9598,14 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /string.prototype.trimstart/1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.5 + es-abstract: 1.21.0 /string_decoder/0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -10324,11 +10367,18 @@ packages: engines: {node: '>=10'} dev: false - /type-fest/3.5.0: - resolution: {integrity: sha512-bI3zRmZC8K0tUz1HjbIOAGQwR2CoPQG68N5IF7gm0LBl8QSNXzkmaWnkWccCUL5uG9mCsp4sBwC8SBrNSISWew==} + /type-fest/3.5.1: + resolution: {integrity: sha512-70T99cpILFk2fzwuljwWxmazSphFrdOe3gRHbp6bqs71pxFBbJwFqnmkLO2lQL6aLHxHmYAnP/sL+AJWpT70jA==} engines: {node: '>=14.16'} dev: false + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + /typescript/4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} diff --git a/renovate.json b/renovate.json index 39a2b6e9..08537720 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,5 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ] + "extends": ["config:base"], + "prHourlyLimit": 5 } diff --git a/turbo.json b/turbo.json index 539e9152..1f97ca8d 100644 --- a/turbo.json +++ b/turbo.json @@ -15,6 +15,9 @@ "lint:fix": { "outputs": [] }, + "lint:dist": { + "outputs": [] + }, "dev": { "cache": false },